我指的是 http://www.mtu.net/~engstrom/ssh-agent.php
我的公钥列在 remote1 的 ~/.ssh/authorized_keys 下。在 SSH 登录连接期间, 它工作正常(在 connection-Auth 下加载了我的私钥),它要求输入我提供的密码,然后登录成功。 但是当在 remote2 等服务器之间切换时,执行 SSH remote1,它会要求输入密码。尝试根据该站点设置 SSH 代理转发,但无济于事...ssh-add 从未提示我输入私钥密码,或者我在尝试遵循所描述的过程时做错了什么?
我基本上做到了
$ eval ssh-agent
$ ssh-add(有些执行 ssh-add ~/.ssh/id_rsa--> 不知道 id_rsa 指的是什么,因为我在 .ssh 下只有 auth_keys 文件)
看到一些描述执行 chmod 600 ~/.ssh/authorized_keys 的资源,但不确定这是否适用于我的情况。
最佳答案
ssh-agent 包装另一个命令,例如您可以包装一个 shell
ssh-agent bash
然后,在该 shell 中,您需要添加您的私钥,并输入您的密码:
ssh-add /path/to/your/private/key # (by default : ~/.ssh/id_rsa)
然后,当你使用 ssh 连接时,添加 -A 选项:
ssh -A user@remote1
就是这样,您的 key 已转发,如果您键入(在 remote1 上)就可以看到它:
ssh-add -L
您现在可以使用该私钥连接到您的 remote2。
使用 ssh 转发时要小心。任何在 remote1 上具有根访问权限的人都可以在您连接时使用您的身份在 remote2 上进行连接。
关于linux - 将私钥添加到 ssh 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499145/