ubuntu ssh Permission denied (publickey)
时间: 2023-07-24 17:01:02 浏览: 265
这个问题通常是由于 SSH 公钥验证失败所引起的。要解决这个问题,可以尝试以下几个步骤:
1. 检查公钥是否正确:确保你的 SSH 公钥已经正确添加到目标主机的 `~/.ssh/authorized_keys` 文件中。可以使用以下命令将公钥添加到目标主机:
```shell
ssh-copy-id username@hostname
```
其中 `username` 是目标主机上的用户名,`hostname` 是目标主机的 IP 地址或域名。
2. 检查权限设置:确保目标主机上的 `~/.ssh` 文件夹和 `authorized_keys` 文件的权限设置正确。一般来说,`.ssh` 文件夹的权限应该是 `700`,`authorized_keys` 文件的权限应该是 `600`。可以使用以下命令修改权限:
```shell
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
3. 检查 SSH 配置:确认目标主机上的 SSH 配置文件 `/etc/ssh/sshd_config` 中的以下设置是否启用:
```
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
如果修改了配置文件,记得重启 SSH 服务:
```shell
sudo service ssh restart
```
4. 检查防火墙设置:如果目标主机上启用了防火墙,确保 SSH 服务的端口(默认为 22)是开放的。
如果你仍然遇到问题,可以通过查看目标主机上的 SSH 服务器日志文件(通常是 `/var/log/auth.log` 或 `/var/log/secure`)来获取更多详细的错误信息,以便进一步排查问题。
阅读全文