这里写自定义目录标题
- 背景
- 解决方案
- 第一步 确认配置
- 第二步 确认权限
- 方案C
背景
最新亚马逊云服务准备扩容,新建了一台Ubuntu服务器,密钥对使用原来服务器上的密钥对,创建后直接迁移到了新的服务器上。
通过 less .ssh/authorized_keys 可以查到原来的公钥存在该目录下
此时通过Xhell使用证书进行免登录,提示“所选的用户密钥未在远程主机上注册。请再试一次。”
解决方案
第一步 确认配置
找到 SSH 配置文件 /etc/ssh/sshd_config 中这两行。vim 编辑文件,去掉注释。
#AuthorizedKeysFile .ssh/authorized_key
#PubkeyAuthentication yes
第二步 确认权限
sudo chmod 700 .ssh/
sudo chmod 600 .ssh/authorized_keys
## 第三步 确认公钥
```powershell
less .ssh/authorized_keys
1.没有这个文件,请创建文件并填入你的公钥
2.有这个文件,填入你的公钥
3.有文件而且里面有公钥,新加一行填入你的公钥
方案C
#远程服务器上查看sshd的状态
service sshd status
#也可以
cat /var/log/auth.log
发现提示:“userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]”
# root 模式下执行命令
echo 'PubkeyAcceptedAlgorithms=+ssh-rsa' >> /etc/ssh/sshd_config
systemctl restart sshd
至此问题解决。我是从方案A处理到了方案C,耽误半天时间。引以为戒