Ubuntu22.04后ssh私钥连接失败

一直在使用的ubuntu20.04系统提示升级22.04,升级后发现ssh(secureCRT和终端)无法使用了,使用私钥登录时提示 server refused our key。
使用 Ubuntu 20.04 的时候,通过这种方式设置 SSH 密钥登录:设置 SSH 通过密钥登录,但在换了 Ubuntu 22.04 后,使用私钥登录时提示 server refused our key,无法通过密钥登录。在确认了 SSH 服务是开启中的之后,仍然出现这样的问题。

经查发现,openssh 8.8开始默认禁用了SHA-1哈希算法的RSA签名,看了一下 ubuntu server 22.04 的默认 openssh 版本:

➜  ~ ssh -V
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022

解决方法:

方法一: 在配置中加上 rsa

发现是因为22.04系统弃用了不安全的SSH -DSS,在配置项里重新开启即可。
打开ssh config文件

sudo vim /etc/ssh/ssh_config;

添加一行后保存退出即可

PubkeyAcceptedKeyTypes +ssh-rsa

重启SSH

systemctl restart sshd

方法二:(推荐)

# 在生成密钥对时使用更加安全的算法
ssh-keygen -t ed25519

22因为自带的openssh版本高,不支持rsa2048了,Rsa4096可以,长就是强,2048就不行了,换成ed25519密钥就行了!
photo_2022-11-10_17-08-49.jpg

方法三: 用最新的SSH软件

比如用新版的putty,xshell,或xshell 生成上传的就行!

© 版权声明
THE END
如果喜欢,可以【点赞】【分享】【收藏】
点赞11赞赏 分享
评论 抢沙发
头像
非注册用户需审核通过后才能查看。友好交流,勿发纯表情,勿恶意灌水!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像0