📜  ssh 错误权限被拒绝(公钥) - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:05:21.670000             🧑  作者: Mango

SSH 错误权限被拒绝(公钥)
问题描述

在使用 SSH 连接服务器时,可能会出现以下错误:

Permission denied (publickey).

这种错误通常是由于 SSH 私钥与服务器不匹配所导致的。

解决方案

以下是一些可能的解决方案:

  1. 确保你使用的是正确的 SSH 私钥。你可以通过以下命令查看 SSH 私钥的权限和所有者:

    $ ls -l ~/.ssh/id_rsa
    -rw-------  1 user  staff  1675 Dec 22 00:05 /Users/user/.ssh/id_rsa
    

    确保 SSH 私钥的权限为 600,所有者为当前用户。

  2. 确保你已将公钥添加到服务器的 authorized_keys 文件中。你可以通过以下命令将公钥添加到该文件中:

    $ cat ~/.ssh/id_rsa.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    
  3. 如果你使用密码身份验证,则需要启用密码身份验证。你可以通过以下命令打开 sshd_config 文件并查找以下行:

    #PasswordAuthentication yes
    

    # 替换为一个空格,然后保存文件并重启 SSH 服务。

  4. 如果你正在使用 SSH 代理,请确保代理服务器已正确配置,并且代理用户具有适当的权限。

结论

SSH 错误权限被拒绝(公钥)通常是由于 SSH 私钥与服务器不匹配所导致的。可以通过确定正确的 SSH 私钥、添加公钥到服务器、启用密码身份验证或确保 SSH 代理已正确配置来解决这个问题。