昨晚更新了我的几个 Web 服务器后,我们现在无法使用 FileZilla SFTP 客户端连接到它们。这是 FileZilla 日志:
2017-08-09 16:26:54 7294 3 Status: Connecting to my.rhel74.server...
2017-08-09 16:26:54 7294 3 Response: fzSftp started
2017-08-09 16:26:54 7294 3 Command: keyfile "/home/acoder/.ssh/fz"
2017-08-09 16:26:54 7294 3 Command: open "[email protected]" 22
2017-08-09 16:26:54 7294 3 Error: Server unexpectedly closed network connection
2017-08-09 16:26:54 7294 3 Error: Could not connect to server
2017-08-09 16:26:54 7294 3 Status: Waiting to retry...
2017-08-09 16:26:59 7294 3 Status: Connecting to my.rhel74.server...
2017-08-09 16:26:59 7294 3 Response: fzSftp started
2017-08-09 16:26:59 7294 3 Command: keyfile "/home/acoder/.ssh/fz"
2017-08-09 16:26:59 7294 3 Command: open "[email protected]" 22
2017-08-09 16:27:00 7294 3 Error: Server unexpectedly closed network connection
2017-08-09 16:27:00 7294 3 Error: Could not connect to server
检查服务器的错误日志发现:
8 月 9 日 17:05:45 rhel74server sshd[5278]:FIPS 模式已初始化
8 月 9 日 17:05:45 rhel74server sshd[5278]:致命:找不到匹配的 mac:客户端 hmac-sha1、hmac-sha1-96、hmac-md5 服务器 hmac-sha2-512、hmac-sha2-256 [preauth]
这是服务器的 ssh 配置:
# /etc/ssh/sshd_config
Protocol 2
KexAlgorithms diffie-hellman-group-exchange-sha256
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512,hmac-sha2-256
我们需要运行这些密码和 MAC,因此更改或添加任何密码和 MAC 都是有问题的。上述配置工作正常,直到一天前服务器操作系统从 RHEL 7.3 更新到 7.4。
以下是我的本地系统使用的 MAC:
user@linux-mint ~ $ nmap --script ssh2-enum-algos -sV -p 22 rhel74server
Starting Nmap 6.40 ( http://nmap.org ) at 2017-08-10 14:42 EDT
Nmap scan report for rhel74server (170.140.203.50)
Host is up (0.0026s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
| ssh2-enum-algos:
| kex_algorithms (1)
| diffie-hellman-group-exchange-sha256
| server_host_key_algorithms (3)
| ssh-rsa
| rsa-sha2-512
| rsa-sha2-256
| encryption_algorithms (3)
| aes256-ctr
| aes192-ctr
| aes128-ctr
| mac_algorithms (2)
| hmac-sha2-512
| hmac-sha2-256
| compression_algorithms (2)
| none
|_ [email protected]
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.38 seconds
user@linux-mint ~ $
正在使用的服务器 MAC 是hmac-sha2-512
和hmac-sha2-256
,它与客户端操作系统正在使用的 MAC 相匹配。
Filezilla 似乎忽略了我的客户端操作系统的配置,并将以下 MAC 发送到服务器:
fatal: no matching mac found: client
hmac-sha1,
hmac-sha1-96,
hmac-md5
我使用的是最新版本的 FileZilla (3.27.0.1)。
关于我还可以尝试做什么来使其再次正常工作的任何线索?
答案1
由于其固有的缺乏安全性而已弃用的功能!
在您的示例中,可以看到客户提供:
- hmac-sha1
- hmac-sha1-96
- hmac-md5
但你的服务器只提供
- hmac-sha2-512
- hmac-sha2-256
所以没有找到匹配项。可能在升级之前服务器很乐意提供 hmac-sha1。
弃用不安全的算法
在 RHEL 6.9 中弃用不安全算法之后,可能对部署构成更严重威胁的旧算法将被禁用。在 RHEL 7.4 中,这会影响客户端和服务器端的 RC4 密码以及 MD5、RIPE-MD160 和截断的 SHA-1 MAC。 Blowfish、Cast128 和 3DES 密码已从客户端接受的默认算法集中删除,但在服务器中仍然受支持。
如果仍然需要这些算法来与旧服务器或客户端进行互操作,则可以按照上游文档中的描述在每个主机上启用它们。以下示例描述如何在客户端中启用 3des-cbc 密码:
Host legacy.example.org Ciphers +3des-cbc
另一个例子,在legacy.example.org客户端的服务器中启用hmac-md5:
Match Host legacy.example.org MACs +hmac-md5