2014-10-06 121 views
0

我試圖下載一個嚴重的腳本......不幸的是它不起作用。linux wget安全身份驗證

殼:

$ wget --secure-protocol=TLSv1 --user=username --password=password --no-check-certificate https://www.example.com/bla/foo/bar/secure/1.pdf 

迴應:

--2014-10-06 12:49:26-- https://www.example.com/bla/foo/bar/secure/1.pdf 
Resolving www.example.com (www.example.com)... xxx.xxx.xx.xx 
Connecting to www.example.com (www.example.com)| xxx.xxx.xx.xx|:443... connected. 
OpenSSL: error:14094438:SSL routines:SSL3_READ_BYTES:tlsv1 alert internal error 
Unable to establish SSL connection. 

回答

1

可以有很多的原因,這失敗,此錯誤,其中包括:

  • 服務器是無法應付較新的TLS版本
  • 服務器需要客戶端認證
  • 服務器在前面
  • 行爲不當的SSL負載平衡器有初步檢查

這一切可以從你提供的信息說,您和服務器拒絕您的流量之間的防火牆。 您可能會根據sslabs檢查服務器,以獲取更多信息或在您的問題中提供更多詳細信息,例如真實網址。

編輯:請求的服務器是www2.cs.fau.de.此服務器只支持SSLv3和嘎嘎叫着上的TLSv1(而不是隻與SSLv3的響應),所以你需要強制執行的SSLv3與wget的:

wget --secure-protocol=SSLv3 ... 

服務器的證書可以對Linux上的通常受信任的CA進行驗證,所以你可能不需要--no-check-certificate選項。

大多數瀏覽器都可以訪問這個網站,因爲它們會自動降級到舊的SSL版本,如果有更多的現代版本所連接不成功,但像捲曲工具或wget的不降級版本重試。

+0

我想得到以下講座: https://www2.cs.fau.de/teaching/WS2014/AuD/slides/secure/aud-00.pdf – eliyahu 2014-10-06 12:32:27

+0

您需要SSLv3而不是TLSv1,請參閱編輯的回覆。 – 2014-10-06 13:58:16