4

如果您登录到 sftp 服务器,用户名和密码是否安全发送?

或者您是否必须进行基于证书的身份验证以确保整个传输都是加密的?

如果这取决于客户端,那么您知道是否可以将 Tumbleweed 和 WinSCP 配置为安全地发送用户名和密码?

4

3 回答 3

4

SFTP 通过 SSH,它通过交换密钥来建立安全隧道(回想一下,当您第一次连接时,系统会提示您接受并存储密钥吗?)。一旦建立了安全隧道,所有通过它的通信都会被加密。用户名和密码通过隧道发送,因此它们是安全发送的。

于 2012-05-07T06:31:18.707 回答
3

取决于您所说的 SFTP 是什么意思。对于代表 SSH 文件传输协议的“真实”SFTP,身份验证是在 SSH 层上完成的,它是安全的。有些人使用“SFTP”作为 FTP-over-TLS 的同义词,在这种情况下它取决于 - 在大多数情况下,命令通道在发送用户名和密码之前被加密(这仅适用于 SSL/TLS 安全连接,不是普通的 FTP!),但可以以明文形式进行身份验证(例如,出于调试目的)。

于 2012-05-07T09:44:54.887 回答
3

SFTP 本身根本不进行身份验证。根据其规范,它假定它通过安全通道运行。因此,它期望底层通道处理身份验证(如果有)。

所以问题是,您的特定 SFTP 实例运行在哪个通道上。在 99% 的情况下,它通过 SSH(端口 22)运行,安全地发送用户名和密码。请注意,大多数 SFTP 客户端(绝对是 WinSCP)和服务器甚至不支持除 SSH 之外的任何其他通道。

严格来说,即使 SSH 也可以配置无加密或劣质加密。尽管在大多数情况下它也是安全的。同样,大多数 SSH 客户端(绝对是 WinSCP)和服务器不允许无加密的 SSH 设置。

于 2013-04-04T06:59:45.933 回答