首页 文章

将私钥添加到ssh代理

提问于
浏览
1

我指的是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

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

  • 0

    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上进行连接 .

相关问题