我每天都会通过 SSH 连接到我的 Amazon EC2 实例。为此,我必须提供私钥。我已经使用了ssh-add <private key>
,然后它就起作用了!
但是。有时我不得不重复这一ssh-add
步骤,因为似乎密钥在同一台计算机上丢失了。这非常烦人,而且似乎是随机发生的。
这是一个已知问题吗?我该如何解决?
我正在使用 Fedora 17、Zsh 和 SSH 版本 OpenSSH_5.9p1。
答案1
检查 .zshenv
某些 Zsh 版本会发出ssh-agent -k
命令,然后输入ssh-add
in ~/.zshenv
。这将清除之前存储的所有 ssh 密钥,并加载用户的默认密钥。您可能只需要将以下行添加到~/.zshenv
tty -s && ssh-add
永久添加用户密钥
ssh-add
将扫描目录中的密钥~/.ssh
。确保目录具有 700 权限。该ssh-add
命令将检查并加载以下密钥
~/.ssh/id_rsa
~/.ssh/id_dsa
~/.ssh/id_ecdsa
~/.ssh/identity
如果您想在登录时添加客户 EC2 密钥,您可以将ssh-add <yourkey>
命令附加到~/.zshenv
(如上所示),或将记录添加到~/.ssh/config
。一些很好的例子这里。
Host your.ec2.domain.amazon.com
IdenitityFile ~/path/to/your/custome/key