AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1175031
Accepted
PRouleau
PRouleau
Asked: 2025-03-13 21:37:36 +0800 CST2025-03-13 21:37:36 +0800 CST 2025-03-13 21:37:36 +0800 CST

使用 OpenSSH 8.7p1 的系统不接受与 OpenSSH 7.4p1 的连接 – 如何允许?

  • 772

我有以下旧 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 系统的配置以允许文件传输。有人知道应该进行哪些配置更改/添加吗?

ssh
  • 1 1 个回答
  • 228 Views

1 个回答

  • Voted
  1. Best Answer
    HBruijn
    2025-03-14T00:13:41+08:002025-03-14T00:13:41+08:00

    问题的根源在于众所周知的事实,即 RHEL 9 默认采用更强的加密设置,破坏了与传统系统的兼容性。

    /etc/ssh/sshd_config问题的第二部分是 RHEL 9 和 Rocky Linux 等衍生产品通过利用“加密策略”以规避/覆盖任何加密设置的方式影响 SSHD 的加密设置。请参阅https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening

    (对于 sshd(以及类似的其他守护进程)而言,加密策略受 systemd 服务单元附加特定命令行选项的影响,这些选项会覆盖 中的设置/etc/ssh/sshd_config。)

    RHEL 9 系统上的 SSH 守护程序的选项是:

    • 按照RHEL 9 强化指南中所述,将系统范围的加密策略切换为与早期版本兼容的模式。以root(或使用sudo) 运行:

      # update-crypto-policies --set LEGACY
      Setting system policy to LEGACY
      

      然后重新启动。

      注意:这会更改所有守护进程和系统设置,如果您只需要调整 ssh 和 sshd 的设置,那就太过分了。

    • 从系统范围的加密策略中排除(仅)sshd。
      您可以通过编辑/etc/sysconfig/sshd并取消注释行# CRYPTO_POLICY=, 来选择退出(如有必要,您可以进一步调整/etc/ssh/sshd_config并添加旧加密设置)。这将使 ssh 守护程序再次仅在其配置文件中查找加密设置。 [sudo] systemctl daemon-reload可能需要,您当然需要使用 和 重新启动 ssh 守护程序[sudo] systemctl restart sshd

    • 5

相关问题

  • 如何最好地设置 ssh 隧道以访问远程网络 (Linux)

  • SSH 和重定向

  • 通过 SSH 会话使用 NET USER 命令拒绝访问

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve