ssh
或者类似的应用程序使用公钥和私钥机制来认证和授权给定的用户。在前面的教程中,我们已经检查了基于密钥的身份验证和授权。权限被拒绝(公钥)错误通常是由于不能正确读取公钥和私钥进行身份验证以删除服务器而发生的。在本教程中,我们将学习一般原因和解决方案。
null
故障排除
我们将从一个简单的故障排除开始。当我们尝试将服务器或服务与 ssh
我们可以打印详细的步骤与详细的选项。Verbose或debug选项用 -vv
. 更多 v
就像 -vvv
将提供更详细的步骤。
$ ssh -vvv 192.168.153.185

解决方案:更改SSH密钥权限
最可能的原因之一是读取权限。如果我们没有读取SSH公钥和私钥所需的权限,则可能会出现此错误。另一个变体是公钥和私钥对的所有者可能会更改为另一个用户。首先,我们将把读取权限授予当前所有者用户。
$ sudo chmod -R 600 .ssh

我们将把所有者改为用户 ismail
在这种情况下
$ sudo chown -R ismail:ismail .ssh
Solution:Specify SSH 显式私钥
另一个问题可能是密钥的位置可能与默认路径或目录不同。这个 ssh
或者类似的客户端可能找不到密钥并使用以进行身份验证和授权。我们可以使用 -i
选项。
$ ssh -i .ssh/id_rsa 192.168.153.185

Solution:AuthorizedKeysFile Configuration
ssh server
本地用户主页或 /etc/ssh/sshd_config
. 我们可以使用 AuthorizedKeysFile
就像下面一样。
AuthorizedKeysFile %h/.ssh/authorized_keys
解决方案:启用密码身份验证
另一个解决方案可能是启用基于密码的身份验证。基于密钥的身份验证提供了更安全的身份验证方法,但在某些情况下可能不适用。我们可以使用 PasswordAuthentication
中的选项 /etc/ssh/sshd_config
文件
PasswordAuthentication yes
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END