我曾有一个不受密码保护我使用 ssh 密钥连接服务器。现在我想为密钥添加密码,因此我已完成:
ssh-keygen -p
并添加了一个新密码:
Enter file in which the key is (/home/user/.ssh/id_rsa):
Enter old passphrase:
Key has comment '/home/user/.ssh/id_rsa'
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.
然后,我尝试再次连接服务器:
ssh [email protected] -v
但我仍然没有输入密码就可以登录:
debug1:可以继续的认证:publickey
debug1:下一个认证方法:publickey
debug1:提供RSA公钥:/home/user/.ssh/id_rsa
debug1:服务器接受密钥:pkalg ssh-rsa blen 279
debug1:认证成功(公钥)。
已向 server.com ([xxx.xx.xxx.xx]:22) 验证身份。
为什么不要求我输入密码?
编辑:
海马正在为我保管钥匙,所以这就是问题所在。
答案1
ssh-agent
将加密密钥存储在内存中,因此更改磁盘上的物理密钥不会影响其功能。
如果您想确保更改有效,请从代理中删除密钥,然后按照注释中所述再次添加它(从默认位置ssh-add -D
删除并ssh-add
再次添加密钥)。