我正在使用ssh-keygen
并且不给出密码短语,然后成功生成并显示密钥指纹。
然后我给出ssh-copy-id user@localhost
,然后在提供用户密码状态Number of key(s) added : 1
后提示输入用户密码。
现在,如果我在执行ssh localhost
操作,它会再次提示输入密码。
如果我这样做,它会要求输入密码。
注:我用过:ssh user@localhost
而且每次我用密码提示时,似乎没有任何东西可以正常工作。
[编辑]ssh-add
显示
调试1:SSH2_MSG_KEXINIT已发送
调试1:SSH2_MSG_KEXINIT收到
调试1:kex:server->客户端aes128 ctr [email protected]无
调试1:kex:client->服务器aes128 ctr [email protected]无
调试1:发送SSH2_MSG_KEX_ECDH_INIT
调试1:应为SSH2_MSG_KEX_ECDH_应答
调试1:服务器主机密钥:ECDSA b2:58:a9:da:84:3f:43:1c:86:51:ba:cd:b7:88:a3:74
debug1:主机“localhost”已知并与ECDSA主机密钥匹配。
debug1:在/home/harsh/.ssh/known\u主机中找到密钥:1
调试1:ssh_ecdsa_verify:签名正确
调试1:SSH2_MSG_NEWKEYS已发送
调试1:应为SSH2\u MSG\u NEWKEYS
调试1:收到SSH2_MSG_NEWKEYS
调试1:服务器不允许漫游
调试1:SSH2_MSG_SERVICE_请求已发送
调试1:收到SSH2_MSG_SERVICE_ACCEPT
调试1:可以继续的身份验证:公钥、密码
debug1:下一个身份验证方法:publickey
debug1:提供DSA公钥/home/harsh/.ssh/id\u DSA
调试1:可以继续的身份验证:公钥、密码
debug1:提供RSA公钥/home/harsh/.ssh/id\u RSA
调试1:可以继续的身份验证:公钥、密码
调试1:正在尝试私钥/home/harsh/.ssh/id\u ecdsa
调试1:正在尝试私钥:/home/harsh/.ssh/id\u ed25519
debug1:下一个身份验证方法:password
harsh@localhost的密码:
最佳答案
我会检查这些:
确保remote.ssh目录和authorized_keys文件具有适当的权限
两者都应该归你所有
在$HOME/.ssh和
$HOME/.ssh/授权密钥上的0600(rw-:------)
验证ssh守护进程是否允许密钥验证,即对于openssh服务器,其配置中应该有以下行:
PubkeyAuthentication是
然后在启用调试输出的情况下重新运行ssh命令
ssh-v你的主机
它将向您显示它将尝试哪些身份验证方法,即。debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,passworddebug1: Next authentication method: publickey
祝你好运!:)
关于linux - SSH:ssh-keygen生成rsa key ,但不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25543666/