Warning: Permanently added '172.31.170.130' (ECDSA) to the list of known hosts. root@172.31.170.130: Permission denied (publickey). lost connection
时间: 2024-02-22 11:57:59 浏览: 144
Ansible报错解决方法...added 'IP' (ECDSA) to the list of known hosts
5星 · 资源好评率100%
这个错误提示表明SSH连接已经建立,但是登录时使用的公钥被拒绝。这通常是因为服务器上没有你的公钥或者公钥配置不正确。
以下是一些可能的原因和解决方法:
1. 检查公钥是否已经添加到服务器上的`authorized_keys`文件中。你可以使用以下命令来将本地公钥添加到服务器的`authorized_keys`文件中:
```
ssh-copy-id user@172.31.170.130
```
其中,`user`是你要登录的用户名,`172.31.170.130`是服务器的IP地址。这个命令将把本地公钥添加到服务器上的`authorized_keys`文件中。
2. 检查公钥的权限是否正确。服务器上的`authorized_keys`文件应该具有正确的权限,否则SSH会拒绝使用这个文件。你可以使用以下命令来设置正确的权限:
```
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
这个命令将设置`.ssh`目录的权限为`700`,设置`authorized_keys`文件的权限为`600`。
3. 如果你使用了自定义的SSH配置文件,请确保配置文件中指定了正确的公钥路径。你可以检查`/etc/ssh/sshd_config`文件中的`AuthorizedKeysFile`选项,确保它指向正确的公钥路径。
如果你仍然无法登录到服务器,你可以尝试使用`-v`选项来显示SSH连接的详细信息。这可能会帮助你找到问题所在。例如:
```
ssh -v user@172.31.170.130
```
这个命令将显示SSH连接的详细信息,并且可能会显示错误消息和警告。
阅读全文