通过公钥进行 ssh 访问失败“权限被拒绝(公钥)”

Posted

技术标签:

【中文标题】通过公钥进行 ssh 访问失败“权限被拒绝(公钥)”【英文标题】:ssh access by public key failed "Permission denied (publickey)" 【发布时间】:2016-09-24 04:27:27 【问题描述】:

我想设置 crontab 来从远程服务器获取资源到本地服务器。

使用的步骤如下

在本地服务器中 1. 没有密码的 ssh-keygen 2. 使用 SCP 将公钥复制到服务器

在远程服务器中

    cat id_rsa.pub >> ~/.ssh/authorized_keys 编辑 .ssh 配置文件 sudo nano /etc/ssh/sshd_config 如下 RSA 认证是 PubkeyAuthentication 是 ChallengeResponseAuthentication 是 没有密码验证 UsePam 没有 通过 sudo /etc/init.d/ssh reload 重新加载 ssh sudo chmod 700 .ssh cd .ssh sudo chmod 600 授权密钥

完成所有这些配置后,我无法通过公钥或正常登录凭据访问远程服务器。

如果我尝试通过 PuTTy 登录,则在输入后要求我登录。它说“断开连接:没有支持的身份验证方法可用(服务器发送:公钥)”

如果我尝试通过 SSH 从本地服务器 ssh sana@127.168.1.1 登录,它会显示“权限被拒绝(公钥)”

服务器详情: Ubuntu 14.04 我用另一个用户而不是 root 用户设置了公钥。

提前感谢大家的支持。

【问题讨论】:

@fedorqui 你能帮我解决这个问题吗? 检查远程 ssh 服务器上的日志以获取来自 sshd 的消息。这些消息很可能位于 /var/log 目录中的某个文件中。 【参考方案1】:

试试

chmod 444 ~/.ssh/authorized_keys

该文件应该只能读取,并且您的用户应该可以读取。 并确保 authorized_keys 文件在 sana 用户主目录中

【讨论】:

以上是关于通过公钥进行 ssh 访问失败“权限被拒绝(公钥)”的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows 上使用 Git bash 进行 ssh - 权限被拒绝(公钥)

AWS ssh 访问“权限被拒绝(公钥)”问题[关闭]

ssh - Amazon EC2 上的权限被拒绝(公钥)

无法通过 SSH 连接到 EC2:权限被拒绝(公钥)

尝试从其他计算机访问 ec2 时 ssh 权限被拒绝(公钥)

Ubuntu WSL Ansible - 用户@localhost 权限被拒绝(公钥,密码)