将私钥添加到ssh代理

时间:2011-12-14 03:22:12

标签: linux ssh

我指的是http://www.mtu.net/~engstrom/ssh-agent.php

我的公钥列在remote1的〜/ .ssh / authorized_keys下。在SSH登录连接期间, 它运行正常(在我的私钥下连接-Auth),它要求我提供的密码,然后登录成功。 但是当在像remote2这样的服务器之间切换时,请执行SSH remote1,它会要求输入密码。试图根据该网站设置SSH代理转发,但无济于事... ssh-add从不提示我输入私钥密码,或者我试图按照所述过程进行操作是错误的?

我基本上做到了 $ eval ssh-agent $ ssh-add(有些做ssh-add~ / .ssh / id_rsa - >想知道wat id_rsa指的是因为我只有.ssh下的auth_keys文件)

看到一些资源被描述为chmod 600~ / .ssh / authorized_keys,但不确定这是否适用于我的情况。

2 个答案:

答案 0 :(得分:1)

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

即便如此,您的密钥已转发,如果您键入(在remote1上),您可以看到它:

ssh-add -L

您现在可以使用该私钥连接到您的remote2。

使用ssh转发时要小心。在remote1上具有root访问权限的任何人都可以在连接时使用您的身份在remote2上进行连接。

答案 1 :(得分:0)

我很确定〜/ .ssh / authorized_keys必须始终是chmod 600.这是一个必须受到保护的敏感文件。