我试图通过遵循这篇文章,在运行Ubuntu 14.04的服务器上设置公共密钥身份验证。到目前为止,我已经完成了以下工作:
使用生成主机上的RSA密钥ssh-keygen -t rsa
。
密钥(id_rsa和id_rsa.pub)现在存储在〜/ .ssh目录中。
将密钥复制到使用 ssh-copy-id <username>@<host>
编辑/ etc / ssh / sshd_config文件以添加line PasswordAuthentication no
。
使用重新启动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:没有更多的身份验证方法可以尝试。 权限被拒绝(公钥)。
我已按照此步骤解决了该问题,并进行了以下操作:
确保的权限不是由OpenSSH标准开放的。
chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
通过在主机计算机中创建一个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] 删除。
我来说两句