如果您登录到sftp服务器, 用户名和密码是否安全发送?
或者您是否必须使用基于证书的身份验证来确保整个传输都已加密?
如果这是依赖于客户端的,那么您知道Tumbleweed和WinSCP是否可以配置为安全地发送用户名和密码?
答案 0 :(得分:4)
SFTP通过SSH,通过交换密钥建立安全隧道(回想一下当你第一次连接时,提示你接受并存储一个密钥?)。建立安全隧道后,通过它进行的所有通信都将被加密。用户名和密码通过隧道发送,因此可以安全地发送。
答案 1 :(得分:3)
取决于您对SFTP的意思。对于“真正的”SFTP,它代表SSH文件传输协议认证是在SSH层完成的,它是安全的。有些人使用“SFTP”作为FTP-over-TLS的同义词,在这种情况下它取决于 - 在大多数情况下,命令通道在发送用户名和密码之前被加密(这仅适用于SSL / TLS安全连接,不是普通的FTP!)但是可以用明文进行身份验证(例如用于调试目的)。
答案 2 :(得分:2)
SFTP本身根本不进行身份验证。根据其规范assumes that it runs over a secure channel。因此,它期望底层通道处理身份验证(如果有的话)。
所以问题是,您的SFTP特定实例会在哪个频道上运行。在99%的情况下,它通过SSH(端口22)运行,它可以安全地发送用户名和密码。请注意,大多数SFTP客户端(肯定是WinSCP)和服务器甚至不支持除SSH之外的任何其他通道。
严格来说,即使SSH也可以配置无加密或加密较差。虽然在大多数情况下它是安全的。而且,大多数SSH客户端(肯定是WinSCP)和服务器都不允许无加密的SSH设置。