添加ssh公钥后出新Permission denied (publickey).
时间: 2024-04-27 07:18:21 浏览: 15
当你在使用SSH连接到远程服务器时,如果出现"Permission denied (publickey)"错误,通常是由于以下几个原因导致的:
1. 公钥未正确添加:首先,你需要确保将你的公钥正确添加到远程服务器的授权文件中。通常情况下,公钥应该添加到目标用户的`~/.ssh/authorized_keys`文件中。你可以使用`ssh-copy-id`命令来自动将公钥添加到目标服务器上。
2. 文件权限不正确:确保目标用户的`~/.ssh`目录权限设置为700,`authorized_keys`文件权限设置为600。你可以使用以下命令来修改权限:
```
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
3. SSH配置错误:检查目标服务器的SSH配置文件(通常是`/etc/ssh/sshd_config`),确保以下配置项没有被注释掉:
```
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
4. SSH代理设置:如果你正在使用SSH代理,确保代理设置正确,并且代理服务器上也添加了你的公钥。
如果你已经确认以上步骤都正确无误,但仍然遇到"Permission denied (publickey)"错误,可能是其他问题导致的,比如密钥对不匹配或者服务器配置问题。你可以尝试重新生成密钥对,并确保服务器配置正确。
相关问题
已经添加公钥还提示Permission denied (publickey)
您好!如果您已经添加了公钥,但仍然收到 "Permission denied (publickey)" 错误提示,可能有几个原因导致这个问题:
1. 验证公钥的正确性:请确保您添加的公钥与您的私钥匹配,并且正确地复制到了目标主机的授权文件(如~/.ssh/authorized_keys)中。
2. 文件和目录权限:请确保目标主机上相关目录和文件的权限正确设置。一般来说,~/.ssh 目录的权限应设置为 700,authorized_keys 文件的权限应设置为 600。您可以使用以下命令进行设置:
```
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
3. SSH 服务配置:检查目标主机上的 SSH 服务配置文件(如 /etc/ssh/sshd_config)是否正确配置。确保以下配置项没有被注释掉:
```
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
如果您进行了修改,请重启 SSH 服务使其生效。
4. 其他认证方式:请检查您连接目标主机时是否指定了正确的密钥文件。您可以使用 `-i` 参数指定私钥文件的路径:
```
ssh -i /path/to/private_key user@host
```
确保 `/path/to/private_key` 指定的是您添加到目标主机上的正确私钥文件路径。
如果以上解决方法都不起作用,可能还有其他问题导致了该错误。您可以在连接时使用 `-v` 参数打开详细的调试输出,以便进一步排查问题:
```
ssh -v user@host
```
这将输出 SSH 连接的详细日志,您可以根据日志中的信息来查找问题所在。
希望这些信息对您有所帮助!如有任何进一步的问题,请随时提问。
ssh Permission denied (publickey).
这个错误通常是由于 SSH 密钥验证无法通过引起的。出现这个问题的原因可能有:
1. SSH 密钥对未正确配置:请确保您的公钥已正确添加到服务器的授权文件中(一般是 `~/.ssh/authorized_keys`)。您可以使用命令 `ssh-copy-id` 将公钥复制到服务器上。
2. SSH 配置错误:检查您的 SSH 配置文件(通常是 `~/.ssh/config`)确保没有任何错误或冲突。
3. 权限问题:请确保您的私钥文件(通常是 `~/.ssh/id_rsa`)的权限设置正确。只有您自己可读可写,其余用户不可访问。
4. 其他身份验证方法:如果服务器配置了多种身份验证方式,您需要使用正确的身份验证方式登录。例如,如果服务器同时配置了密码和公钥验证,您可能需要提供密码进行身份验证。
尝试排除以上问题,应该能够解决这个错误。如果问题仍然存在,请提供更多详细信息,我会尽力帮助您解决。