输入命令ssh-copy-id username@client_ip后使用ssh username@server_ip 时显示Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
时间: 2023-10-24 22:33:30 浏览: 143
ubuntu16.04下使用idea时,上传自建git库是遇到的问题(Permission Denied (publickey)和)及解决
这个问题可能是由于公钥认证未正确设置导致的。请按照以下步骤进行排查和修复:
1. 检查公钥是否已成功复制到目标服务器。运行以下命令确认您的公钥是否已添加到目标服务器的`~/.ssh/authorized_keys`文件中:
```
cat ~/.ssh/authorized_keys
```
如果该文件不存在或没有包含您的公钥,请使用`ssh-copy-id`命令重新尝试复制公钥。
2. 检查目标服务器上的权限设置。确保`~/.ssh` 目录的权限为 700,`~/.ssh/authorized_keys` 文件的权限为 600。您可以使用以下命令进行更正:
```
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
3. 确保目标服务器启用了公钥身份验证并且`/etc/ssh/sshd_config`文件中的以下设置正确:
```
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
4. 如果您之前修改了 SSH 配置,请确保已重新加载 SSH 服务以使更改生效。在大多数 Linux 发行版中,您可以使用以下命令重新加载 SSH 服务:
```
sudo service ssh restart
```
5. 如果您在操作系统中使用了不同的用户名,确保您在连接时使用了正确的用户名。例如,如果您在本地计算机上使用用户名`user1`,而在远程服务器上使用用户名`user2`,请使用以下命令连接:
```
ssh user2@server_ip
```
如果您仍然无法通过公钥进行身份验证,请检查服务器上的日志文件(通常是`/var/log/auth.log`或`/var/log/secure`)以获取更多详细信息,可能会提供有关拒绝访问的原因。
阅读全文