ubuntu22.04中默认openssh和ssl版本过高导致的和低版本ssh无法互相通信的问题

在Ubuntu22.04和12.04之间进行SSH通信时,由于禁止密码登录并使用密钥对,遇到兼容性问题。文章提供了解决方案,涉及在sshd_config中添加新算法支持,以及在ssh_config中允许ssh-rsa算法,以使高版本SSH客户端能与旧版服务器通信。这涉及到OpenSSH的安全更新,尤其是从8.2版本开始禁用ssh-rsa公钥签名算法。
摘要由CSDN通过智能技术生成

问题

装了一个ubuntu22.04(机器A),和老机器ubuntu12.04(机器B)通信的时候出现了问题,由于禁止了密码登陆,互相配了密钥,结果出现了AB机器不能互相通信的情况

解决方案

在这里插入图片描述

在/etc/ssh/sshd_config(该路径是系统自带ssh路径,如果你是自己编译指定的其他目录,就需要找到其他目录中的sshd_config配置文件)中的最后,添加配置

Pubkeyacceptedkeytypes ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

可以解决B访问A的问题,但是A访问B仍然无法访问

在这里插入图片描述

提示该报错

要想A能够成功访问B,还需要在/etc/ssh/ssh_config(该路径是系统自带ssh路径,如果你是自己编译指定的其他目录,就需要找到其他目录中的ssh_config配置文件)再加两条配置

在这里插入图片描述

Host *
    PubkeyAcceptedKeyTypes=+ssh-rsa

最后重启一下sshd服务

一般为systemctl restart sshd

解决!

再说一下原因,因为在openssh8.2开始,因为安全原因,禁用 ssh-rsa 公钥签名算法。有一些更好的算法可以替代,包括 RFC8332 RSA SHA-2 签名算法 rsa-sha2-256/512、ssh-ed25519 签名算法与 RFC5656 ECDSA 算法。目前这些算法在 OpenSSH 中都已经支持。

这里说一下,并不是不能用rsa密钥,而是密钥生成的公钥签名算法被废弃,所以低版本ssh的使用ssh-rsa生成的一些密钥将无法和高版本默认配置的ssh通信,上面的配置就是让高版本ssh的client(ssh_config配置文件)端和server(sshd_config)端支持老的ssh-rsa算法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Ubuntu 22.04上离线安装OpenSSH包,你需要首先在能够连接互联网的计算机上下载所需的软件包。然后,将这些软件包通过物理介质(例如USB闪存驱动器)或通过本地网络传输到目标Ubuntu 22.04计算机上。 以下是在Ubuntu 22.04上离线安装OpenSSH包的步骤: 1. 在能够连接互联网的计算机上,打开终端(Ctrl+Alt+T)。 2. 使用以下命令下载OpenSSH软件包及其相关依赖: ``` sudo apt-get download openssh-server openssh-client ``` 3. 上述命令将在当前目录下载OpenSSH软件包(.deb文件)及其相关依赖项(如果有)。 4. 将这些下载的软件包复制到目标Ubuntu 22.04计算机上。你可以使用USB驱动器或通过本地网络传输方式将软件包复制到目标计算机。 5. 在目标计算机上,打开终端。 6. 导航到存储所下载软件包的目录。例如,如果你将软件包复制到了桌面上的"ssh"文件夹,可以使用以下命令导航到该目录: ``` cd ~/Desktop/ssh ``` 7. 使用以下命令安装OpenSSH软件包及其依赖项: ``` sudo dpkg -i *.deb ``` 8. 上述命令将安装所需的OpenSSH软件包及其依赖项。 完成上述步骤后,你应该可以在Ubuntu 22.04上进行离线安装OpenSSH软件包。请记住,离线安装软件包可能会因缺少某些依赖关系而导致安装失败。如果遇到依赖关系问题,请尝试手动安装缺失的依赖项或使用其他方法解决该问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值