通过公钥进行 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 - 权限被拒绝(公钥)