错误:权限被拒绝(公钥)和解决方案

ssh 或者类似的应用程序使用公钥和私钥机制来认证和授权给定的用户。在前面的教程中,我们已经检查了基于密钥的身份验证和授权。权限被拒绝(公钥)错误通常是由于不能正确读取公钥和私钥进行身份验证以删除服务器而发生的。在本教程中,我们将学习一般原因和解决方案。

null

故障排除

我们将从一个简单的故障排除开始。当我们尝试将服务器或服务与 ssh 我们可以打印详细的步骤与详细的选项。Verbose或debug选项用 -vv . 更多 v 就像 -vvv 将提供更详细的步骤。

$ ssh -vvv 192.168.153.185
Troubleshooting
故障排除

解决方案:更改SSH密钥权限

最可能的原因之一是读取权限。如果我们没有读取SSH公钥和私钥所需的权限,则可能会出现此错误。另一个变体是公钥和私钥对的所有者可能会更改为另一个用户。首先,我们将把读取权限授予当前所有者用户。

$ sudo chmod -R 600 .ssh
Solution: Change SSH Key Permissions
解决方案:更改SSH密钥权限

我们将把所有者改为用户 ismail 在这种情况下

$ sudo chown -R ismail:ismail .ssh

Solution:Specify SSH 显式私钥

另一个问题可能是密钥的位置可能与默认路径或目录不同。这个 ssh 或者类似的客户端可能找不到密钥并使用以进行身份验证和授权。我们可以使用 -i 选项。

$ ssh -i .ssh/id_rsa 192.168.153.185
Solution:Specify SSH Key Explicitly
Solution:Specify SSH 显式键

Solution:AuthorizedKeysFile Configuration

ssh server 本地用户主页或 /etc/ssh/sshd_config . 我们可以使用 AuthorizedKeysFile 就像下面一样。

AuthorizedKeysFile %h/.ssh/authorized_keys

解决方案:启用密码身份验证

另一个解决方案可能是启用基于密码的身份验证。基于密钥的身份验证提供了更安全的身份验证方法,但在某些情况下可能不适用。我们可以使用 PasswordAuthentication 中的选项 /etc/ssh/sshd_config 文件

PasswordAuthentication yes

相关文章: Telnet命令是什么?Telnet的用途是什么?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享