SSH:ssh-keygen生成rsa密钥,但不起作用

时间:2014-08-28 07:59:01

标签: linux ubuntu ssh

我正在使用ssh-keygen并且没有给出密码短语,然后成功生成并显示了密钥指纹 然后,我提供了ssh-copy-id user@localhost,然后在提供用户密码后提示用户输入Number of key(s) added : 1。 现在,如果我再次提示ssh localhost,则会提示输入密码 如果我ssh user@localhost,它会要求输入密码。

PS:我已经使用过:ssh-add以及sudo ufw allow 22每次我都没有任何工作正常ssh localhost我已经提示输入密码。

[编辑]

ssh -v localhost
示出了

  

debug1:SSH2_MSG_KEXINIT发送
  debug1:SSH2_MSG_KEXINIT收到了   debug1:kex:server-> client aes128-ctr hmac-md5-etm@openssh.com none
  debug1:kex:client-> server aes128-ctr hmac-md5-etm@openssh.com none
  debug1:发送SSH2_MSG_KEX_ECDH_INIT
  debug1:期待SSH2_MSG_KEX_ECDH_REPLY
  debug1:服务器主机密钥:ECDSA b2:58:a9:da:84:3f:43:1c:86:51:ba:cd:b7:88:a3:74
  debug1:Host' localhost'已知并匹配ECDSA主机密钥。
  debug1:找到/home/harsh/.ssh/known_hosts:1中的键   debug1:ssh_ecdsa_verify:签名正确
  debug1:SSH2_MSG_NEWKEYS发送
  debug1:期待SSH2_MSG_NEWKEYS
  debug1:SSH2_MSG_NEWKEYS收到了   debug1:服务器不允许漫游
  debug1:SSH2_MSG_SERVICE_REQUEST发送
  debug1:SSH2_MSG_SERVICE_ACCEPT收到
  debug1:可以继续的身份验证:publickey,password
  debug1:下一个身份验证方法:publickey
  debug1:提供DSA公钥:/home/harsh/.ssh/id_dsa
  debug1:可以继续的身份验证:publickey,password
  debug1:提供RSA公钥:/home/harsh/.ssh/id_rsa
  debug1:可以继续的身份验证:publickey,password
  debug1:尝试私钥:/home/harsh/.ssh/id_ecdsa
  debug1:尝试私钥:/home/harsh/.ssh/id_ed25519
  debug1:下一个身份验证方法:密码
  harsh @ localhost的密码:

3 个答案:

答案 0 :(得分:1)

我会查看这些:

  • 确保远程.ssh目录和authorized_keys文件具有适当的权限

    • 两者都应由您拥有
    • 权限应为$ HOME / .ssh和
    • 上的0700(rwx:---:---)
    • 0600(rw - :---:---)on $ HOME / .ssh / authorized_keys
  • 验证ssh守护程序是否允许密钥验证,即对于openssh服务器,其配置中应该有这一行:

    • PubkeyAuthentication yes

然后在启用调试输出的情况下重新运行ssh命令

  • ssh -v yourhost

它将向您展示它将尝试哪些认证方法,即

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Next authentication method: publickey

祝你好运! :)

答案 1 :(得分:0)

我设法通过在我的ubuntu机器上重新安装ssh来克服这个问题。

问题是因为在ssh安装时OS未正确安装。

答案 2 :(得分:0)

我在通过NFS(网络文件系统)挂载 / home 目录的设置中遇到了同样的问题。贝娄的指挥完成了这项工作。

[root@localhost]# setsebool -P use_nfs_home_dirs=true