我有以下旧 Linux 系统,并使用专有软件工具尝试将文件(使用sftp或 curl)复制到较新的 Linux 系统,但失败了。系统如下:
财产 | 发起人系统 | 目的地系统 |
---|---|---|
操作系统 | CentOS 7 衍生产品 | Rocky Linux 9.5 |
SSH-V | OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 |
OpenSSH_8.7p1, OpenSSL 3.2.2 4 Jun 2024 |
通过嗅探我们发现:
- 服务器的Diffie-Hellman组交换答复数据包确认以下协商参数:
- 密钥交换算法(KEX):diffie-hellman-group-exchange-sha256(匹配客户端支持✅)
- 加密算法:aes128-ctr(符合客户端支持✅)
- MAC 算法:hmac-sha2-256(符合客户端支持✅)
- 压缩:无(匹配客户端支持✅)
- 主机密钥类型:ssh-rsa(符合客户端支持✅但请参见下文)
- 主机签名类型:rsa-sha2-256(潜在问题⚠️)
服务器的 KEX 回复中的主机密钥类型是 ssh-rsa,客户端支持该类型。但是,服务器使用的签名类型是 rsa-sha2-256,客户端在其 SSH_MSG_KEXINIT 消息中未声明支持该类型。
我一直在查看/etc/ssh/ssh_config
和/etc/ssh/sshd_config
文件,以查看可以在 Rocky Linux 9.5 系统上进行的配置修改以支持交换,但没有找到。我还尝试将以下内容添加到 /etc/ssh/sshd_config(如另一个案例所建议的) ,但也失败了:
# Allow mildly-outdated cipher selection
Ciphers +aes128-cbc
# Allow negotiating cipher key using weak DH
# (only add group1 if you *really* need it)
KexAlgorithms +diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
# Offer SHA1 signatures for host pubkey
HostKeyAlgorithms +ssh-rsa
# Accept SHA1 signatures for client pubkey
PubkeyAcceptedAlgorithms +ssh-rsa
真正的解决方案是升级这个旧的 CentOS 7 衍生产品,但在这样做之前,我需要完成文件复制工作以完成几个测试。
因此,我正在寻找一个临时解决方案,修改 Rocky Linux 9.5 系统的配置以允许文件传输。有人知道应该进行哪些配置更改/添加吗?