2012-05-07 55 views
3

如果您登錄到sftp服務器, 安全地發送用戶名和密碼?SFTP安全地發送用戶名和密碼嗎?

或者您是否必須進行基於證書的身份驗證才能確保整個傳輸已加密?

如果這是依賴於客戶端的,那麼你知道Tumbleweed和WinSCP是否可以配置爲安全地發送用戶名和密碼嗎?

+0

很難編程相關;投票結束。但是,是的,如果SSH協議沒有對所有其他流量進行加密,SSH協議將毫無意義。 – tripleee

回答

3

取決於您的意思SFTP。對於「真正的」SFTP來說,它代表SSH文件傳輸協議身份驗證在SSH層完成,並且它是安全的。有些人使用「SFTP」作爲FTP-over-TLS的同義詞,在這種情況下,它取決於 - 在大多數情況下,命令通道在發送用戶名和密碼之前是加密的(這僅適用於SSL/TLS安全連接,不是普通的FTP!),但可以以明文形式進行身份驗證(例如,用於調試目的)。

4

SFTP通過SSH,它通過交換密鑰來建立安全通道(回想起當你第一次連接時,你是如何提示接受和存儲密鑰的?)。一旦安全隧道建立,所有通過它的通信都會被加密。用戶名和密碼通過隧道發送,因此它們被安全地發送。

2

SFTP本身根本不認證。根據其規格,它assumes that it runs over a secure channel。因此,它期望底層通道處理認證(如果有的話)。

所以問題是,你的特定SFTP實例運行的是什麼通道。在99%的情況下,它通過SSH運行(端口22),安全地發送用戶名和密碼。請注意,大多數SFTP客戶端(絕對爲WinSCP)和服務器甚至不支持除SSH之外的其他任何通道。

嚴格來說,即使SSH可以配置爲無加密或低級加密。儘管在大多數情況下它仍然是安全的。而且,大多數SSH客戶端(絕對是WinSCP)和服務器都不允許無加密SSH設置。