公钥身份验证权限被拒绝(publickey)

我们试试吧

我试图通过遵循这篇文章,在运行Ubuntu 14.04的服务器上设置公共密钥身份验证到目前为止,我已经完成了以下工作:

  1. 使用生成主机上的RSA密钥ssh-keygen -t rsa

    密钥(id_rsa和id_rsa.pub)现在存储在〜/ .ssh目录中。

  2. 将密钥复制到使用 ssh-copy-id <username>@<host>

  3. 编辑/ etc / ssh / sshd_config文件以添加line PasswordAuthentication no

  4. 使用重新启动ssh /etc/init.d/ssh restart

现在,当我尝试从主机到服务器ssh时,将显示以下内容(我已经编辑了一些详细信息,例如服务器地址和主机名):

$:ssh -v user @ domain 
OpenSSH_6.6.1,OpenSSL 1.0.1f 2014年1月6日
debug1:读取配置数据/home/host/.ssh/config 
debug1:读取配置数据/ etc / ssh / ssh_config 
debug1:/ etc / ssh / ssh_config第19行:为* 
debug1应用选项:连接到域[192.168.xx.xx]端口
22。debug1:建立连接。
debug1:身份文件/home/host/.ssh/id_rsa类型1 
debug1:身份文件/home/host/.ssh/id_rsa-cert类型-1 
debug1:身份文件/home/host/.ssh/id_dsa类型-1 
debug1 :身份文件/home/host/.ssh/id_dsa-cert类型-1 
debug1:身份文件/home/host/.ssh/id_ecdsa类型-1  
debug1:身份文件/home/host/.ssh/id_ecdsa-cert类型- 1个
debug1:身份文件/home/host/.ssh/id_ed25519类型-1
debug1:身份文件/home/host/.ssh/id_ed25519-cert类型-1 
debug1:启用协议2.0的兼容模式
debug1:本地版本字符串SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 
debug1:远程协议版本2.0 ,远程软件版本OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 
debug1:匹配:OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 pat OpenSSH_6.6.1 *兼容0x04000000 
debug1:SSH2_MSG_KEXINIT发送了
debug1:SSH2_MSG_KEXINIT收到了
debug1:kex:服务器->客户端aes128 -ctr [email protected]
debug1:kex:客户端->服务器aes128-ctr [email protected]
debug1 :发送SSH2_MSG_KEX_ECDH_INIT
debug1:需要SSH2_MSG_KEX_ECDH_REPLY 
debug1:服务器主机密钥:ECDSA 16:00:b8: c5:89:af:e9:50:22:85:76:6d:65:1c:aa:b4 
debug1:主机“域”是已知的,并且与ECDSA主机密钥匹配。
debug1:在/home/host/.ssh/known_hosts中找到密钥:2 
debug1:ssh_ecdsa_verify:签名正确的
debug1:SSH2_MSG_NEWKEYS发送了
debug1:期望SSH2_MSG_NEWKEYS 
debug1:SSH2_MSG_NEWKEYS收到了
debug1:SSH2_MSG_CEG 
ICE1 
debug1:下一个身份验证方法:publickey 
debug1:提供RSA公钥:/home/host/.ssh/id_rsa 
debug1:可以继续进行的身份验证:publickey 
debug1:尝试私钥:/home/host/.ssh/id_dsa
debug1:尝试私钥:/home/host/.ssh/id_ecdsa 
debug1:尝试私钥密钥:/home/host/.ssh/id_ed25519
debug1:没有更多的身份验证方法可以尝试。
权限被拒绝(公钥)。

我已按照此步骤解决了该问题,并进行了以下操作:

  1. 确保的权限不是由OpenSSH标准开放的。

    chmod go-w ~/
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  2. 通过在主机计算机中创建一个authorized_keys文件,ssh-copy-id [email protected]并将authorized_keys文件复制到服务器,然后根据需要更改所有权和权限。

问题仍然存在。在尝试使用公钥身份验证之前,我能够使用密码成功地进入服务器。还有其他人遇到过类似的问题吗?

编辑 :

当我稍后尝试ssh时,在输出中添加了新的一行:Agent admitted failure to sign using the key.一些谷歌搜索导致了这个问题。这个问题称为gnome密钥干扰。当我尝试时,SSH_AUTH_SOCK=0 ssh user@domain我能够使用公共密钥身份验证成功登录到服务器。谢谢大家的贡献。

我们试试吧

当我尝试时ssh -i ~/.ssh/key_name user@domain,服务器发出一个响应,说Agent admitted failure to sign using the key.显然,这是由于gnome-keyring干扰问题引起的,并且在此链接中讨论了此修复程序

请尝试尝试临时修复SSH_AUTH_SOCK=0 ssh user@domain,如果可以的话,您可以使用SSH进入您的服务器,然后在上面的链接中进行修复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

公钥身份验证权限被拒绝(publickey)

来自分类Dev

没有更多的身份验证方法可以尝试。权限被拒绝(公钥)

来自分类Dev

没有更多的身份验证方法可以尝试。权限被拒绝(公钥)

来自分类Dev

SSH失败的公钥身份验证

来自分类Dev

身份验证失败-权限被EmberFire拒绝

来自分类Dev

验证连接时,git权限被拒绝(公钥)

来自分类Dev

ssh不再允许公钥身份验证

来自分类Dev

带监禁SFTP用户的公钥身份验证

来自分类Dev

带监禁SFTP用户的公钥身份验证

来自分类Dev

ssh不再允许公钥身份验证

来自分类Dev

如何调试公钥SSH身份验证失败

来自分类Dev

OSX上的公钥身份验证问题

来自分类Dev

需要OpenSSH中特定用户的公钥身份验证?

来自分类Dev

使用公钥/私钥的ssh身份验证失败

来自分类Dev

ssh:无法使用公钥身份验证

来自分类Dev

SSH权限被拒绝(公钥)

来自分类Dev

Git权限被拒绝(公钥)

来自分类Dev

git权限被拒绝(公钥)

来自分类Dev

SSH权限被拒绝(公钥)

来自分类Dev

ssh权限被拒绝(公钥)

来自分类Dev

SSH.NET仅通过私钥进行身份验证(公钥身份验证)

来自分类Dev

身份验证后读取数据时,Firebase权限被拒绝

来自分类Dev

正确的密码身份验证拒绝SSH权限

来自分类Dev

Firebase 数据库的匿名身份验证权限被拒绝

来自分类Dev

权限被拒绝(公钥),但公钥在本地和远程存在

来自分类Dev

Bitbucket / Github:权限被拒绝的公钥

来自分类Dev

Ansible:权限被拒绝(公钥,密码)

来自分类Dev

Gitlab 7.3.2权限被拒绝(公钥)

来自分类Dev

(Scp-权限被拒绝(公钥)