我和雪豹面临着一个非常奇怪的情况。我有一个Linux服务器,配置成只通过RSA密钥才能接受ssh连接。没有密码。在我的笔记本电脑上,我正确地使用ssh-keygen部署了RSA密钥,并且在进行此部署时,我添加了一个密码。然后,我在Linux ..ssh/ id_rsa.pub _key上移动了这个。
到目前一切尚好。现在我尝试从我的雪豹笔记本电脑登录到Linux机器上。我看到一扇窗户弹出问我要密码。这是第一件让我感到惊讶的事情,因为我本以为会有一个shell密码请求,而不是弹出。根据弹出窗口中的详细信息,请求密码的应用程序是ssh。此外,还有一个选项“记住键链中的短语”,这是禁用的。
我输入密码。弹出窗口消失,终端正确登录到Linux机器。现在,如果我退出并再次尝试ssh,则登录时不需要任何口令请求,这不是我想要的。
我查过的东西:
密码储存在哪里?究竟是怎么回事,我如何在每一次ssh尝试中强制口令的请求?
发布于 2010-02-02 16:43:12
当你需要私钥时,OS会自动为你启动ssh代理.然后,您的密钥将通过ssh代理(无需再次输入密码)可用,直到您退出OS或删除密钥(通过ssh-add -d或ssh-add -D删除所有密钥)。
这类似于ssh-agent的标准*NIX系统行为,并允许像代理身份验证转发(ssh -A)这样有用的功能工作,这样您就不必将私钥放在整个网络中。
如果要禁用ssh-agent (适用于Mac的所有用户),则可以删除文件/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist。
另一种方法是卸载和禁用LaunchAgent:
sudo launchctl -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
-w使它不仅卸载,而且标记&记住它是禁用的。
https://serverfault.com/questions/108798
复制相似问题