我使用的是 Mac OS X 10.9.5,ssh 代理对我的两个密钥(包括主密钥 ~/.ssh/id_rsa)运行良好。但是,对于我的 AWS 密钥,它每次都会要求我输入密码。我不确定为什么。我希望它像对待其他密钥一样缓存 AWS 密钥,直到重新启动。
当我运行时,ssh-add -L
我在列表中看到了 id_rsa 和 AWS 密钥。出于某种原因,它只会在重启后要求我输入一次 id_rsa 密码,但每次使用时都会要求我输入 AWS 密码。
编辑:我尝试解密密钥,然后使用不同的名称再次加密,但发生了同样的事情。
我正在使用 ssh 连接到服务器,并且已在我的 中配置了主机.ssh/config
。
Host aws
HostName ec2-xxx-xxx-xxx-xxx.us-west-1.compute.amazonaws.com
User ubuntu
IdentityFile /Users/brent/.ssh/test2.pem
IdentitiesOnly yes
然后我用来连接的命令是ssh aws
我仍然每次都会弹出一个 ssh-agent 窗口来获取密钥密码。
答案1
事实证明,您的私钥不能有.pem
扩展名。如果我从私钥中删除扩展名,则它们将被 ssh-agent 成功缓存。
还需要有一个具有相同名称但带有.pub
扩展名的匹配公钥。