验证与 Cygwin SFTP 服务器的连接是否已加密

验证与 Cygwin SFTP 服务器的连接是否已加密

我必须确保我的流程已加密。我在一台 Windows 机器上,并且已通过 Cygwin 安装了一个 SFTP 服务器。我使用 WinSCP 作为客户端。我正在用 C# 开发另一个客户端。一切正常,但我不确定是否启用了加密。

在我的sshd_config密码列表中没有报告这里(在下面Ciphers)。

在我的/etc/sshd_config档案里我有这个

#Ciphers and keying
#RekeyLimit default none

只是这个..我没有任何密码...这是我认为未启用加密的第一个原因。

另一个原因是在我正在开发的客户端中我看到一个属性:

CurrentServerEncryption = NULL

所以看起来我没有任何加密。

有人能告诉我如何编辑sshd_config以启用密码或如何检查密码是否启用吗?

答案1

  • 您所指的中的块sshd_config全部被注释掉(起始#)。因此适用默认值。 的默认值Ciphers不包含none密码,因此服务器不允许未加密的连接。请注意,OpenSSH 的标准版本甚至不允许您启用加密none。您必须重新编译 OpenSSH。
    请参阅如何禁用 openssh 上的加密?

  • WinSCP 也不允许使用none密码。
    请参阅https://winscp.net/eng/docs/ui_login_ssh
    因此,如果您可以使用 WinSCP 连接,则表示该连接是加密的。

  • 在WinSCP日志中,您可以看到协商的密码:

      . 2014-11-06 16:41:26.328 Initialised AES-256 SDCTR client->server encryption
      . 2014-11-06 16:41:26.328 Initialised HMAC-SHA-256 client->server MAC algorithm
      . 2014-11-06 16:41:26.328 Initialised AES-256 SDCTR server->client encryption
      . 2014-11-06 16:41:26.328 Initialised HMAC-SHA-256 server->client MAC algorithm
    
  • 关于CurrentServerEncryption:我假设你指的是SSH.NET Session.ConnectionInfo.CurrentServerEncryption,对吧?
    您是在连接到服务器后读取该值吗?还请注意,即使连接未加密,该值也应为"none",而不是NULL。这NULL可能表示尚未选择密码(连接未打开)。

相关内容