代码改变世界

xshell 所选的用户密钥未在远程主机上注册;无法加载密钥

2021-09-05 10:17  jetwill  阅读(920)  评论(0编辑  收藏  举报

他山之石

https://zhuanlan.zhihu.com/p/92528287

安全起见,服务器最近的安全策略准备进行更改,逐渐由原来的密码登录更换为密钥登录认证。

于是今天把服务器上的id_rsa导入到了xshell的【用户密钥】里面,在更改登录方式后,很欢快的点击【连接】,然而死活登不上服务器,并提示“所选的用户密钥未在远程主机上注册...”。
于是想起了baidu,这个百度出来的前面几个没有一个可以用的,放弃,自己折腾想办法。

首先回到问题提示“所选的用户密钥未在远程主机上注册”,然后想到密钥认证是要对等的,xshell用的是id_rsa私钥,那么服务器上因为有对应的公钥:id_rsa.pub(这个文件里面的信息需要保存在.ssh/authorized_keys),那么这个提示的意思具体含义就是说对方服务器上没有记录另一半密钥,灵光闪现,这个的意思不就是说对等的钥匙忘记添加到authorized_keys里面嘛,
这个确实是刚刚操作过快,把这一步忘记了,哎哎哎,不应该。

最后在服务器上执行下面一步,再登录,搞定!

cat .ssh/id_rsa.pub >> .ssh/authorized_keys

Xshell 导入的是 Private Key

如果选择了 id_isa.pub,则会抛出错误“无法加载用户密钥”

PuttyGen 导入的也是 Private Key

如果 Conversions > Import Key 时选择了 id_rsa.pub , 就会抛出如下错误。