一直在使用的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密钥就行了!
方法三: 用最新的SSH软件
比如用新版的putty,xshell,或xshell 生成上传的就行!
© 版权声明
分享是一种美德,转载请保留原链接
THE END
- 最新
- 最热
只看作者