SSH“Error Permission Denied(publickey)”错误及解决方案

在建立SSH连接期间,您可能会得到“ 错误权限被拒绝(公钥) “错误。此错误阻止您通过SSH连接到远程系统。远程系统可以是Linux、Ubuntu、Mint、Kali、Linode服务器、Digital Ocean服务器或AWS服务器等。此错误是由于加密密钥而产生的。

null

“错误权限被拒绝(公钥)”解决方案

“Error Permission Denied(publickey)”错误有不同的原因和原因,应该针对这些不同的原因提供不同的解决方案。

检查您是否有有效的SSH密钥,如果没有,请创建SSH密钥

第一种解决方案是检查当前用户是否具有部署到远程SSH服务器的SSH密钥。SSH密钥位于用户的主目录.SSH文件夹下。列出以下内容。

ls ~/.ssh/

如果没有名称为id_rsa或id_rsa.pub的文件,通常包含术语id。请使用下面的帖子创建SSH密钥并部署到远程SSH服务器。

为本地公共和私有SSH密钥设置Rigth文件权限

公共和私有文件存储在users home directory.ssh文件夹下。即使存在公钥和私钥,它们也需要具有当前用户读取的正确文件权限。使用以下chmod命令设置此目录文件权限。

chmod -R 740 ~/.ssh/

检查本地计算机密钥在远程系统上是否经过身份验证

通过GUI等登录到要连接的远程系统,然后导航到目标用户目录并查看.ssh文件夹下的authorizedu keys文件。

cat ~/.ssh/authorized_keys
图片[1]-SSH“Error Permission Denied(publickey)”错误及解决方案-yiteyi-C++库
SSH授权密钥

检查给定的密钥是否与您的本地系统公钥相同,可以如下所示。

ls ~/.ssh/

从多个密钥中选择正确的SSH密钥

本地系统用户可能有多个密钥。在尝试连接远程SSH服务器时,将使用其中一个密钥,但这可能不是正确的密钥。所以通过使用 -我 参数与ssh命令一起使用时,应选择正确的密钥。应选择私钥。

ssh -i ~/.ssh/id_rsa2

启用SSH服务器的根登录

根是一个具有管理权限的特殊帐户。默认情况下,SSH服务器配置禁用通过SSH的根登录。如果尝试使用root和key登录,可能会出现此错误。为了解决这个问题,请在ssh配置文件中启用root登录 /etc/ssh/sshdu配置 .

PermitRootLogin prohibit-password

行至

PermitRootLogin yes 

重新启动SSH服务以应用配置和相关更改

我们为“Permission denied(publickey)”错误定义了不同的解决方案。为了应用这个新配置,SSH服务器应该重新启动。

sudo systemctl restart sshd

相关文章: 使用SSH-keygen命令生成SSH密钥

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