很长一段时间,我很困惑为什么 ssh 命令有时要求输入密码,有时不要求输入密码。即使当我使用相同的在许多不同的集群上的私钥/公钥对上,有时会要求我输入密码,有时则不会。
今天,我尝试访问一个集群,当我尝试通过 ssh 进入该集群时,该集群通常需要密码。通常,要访问集群,我会这样做ssh <ip address>
。今天我确实ssh <username>@<ip address>
进去了,而且没有要求我输入密码!
而且,从那以后它就没有要求我输入密码。这很奇怪......为什么只提供用户名就会导致它不再提示我输入密码?或者我还缺少其他什么可能会改变这个的东西吗?
我检查了目录的权限~/.ssh
,那里的一切看起来都是正确的......还有什么要检查的吗?
答案1
我怀疑你有 ssh 密码私钥,并且 ssh-agent 正在某处运行。
当第一次连接建立时,ssh-agent 中没有任何内容,那么它会询问您私钥的解密密码。输入后,它会将其添加到 ssh-agent,然后(在后续连接上,直到它被清除)使用 ssh-agent 中的密钥。