我正在使用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的密码:
答案 0 :(得分:1)
我会查看这些:
确保远程.ssh目录和authorized_keys文件具有适当的权限
验证ssh守护程序是否允许密钥验证,即对于openssh服务器,其配置中应该有这一行:
然后在启用调试输出的情况下重新运行ssh命令
它将向您展示它将尝试哪些认证方法,即
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