我有一个密钥服务器上的ssh-agent我的github.com私人ssh密钥。 从我的家庭计算机背后NAT我想运行git pull并使用我的github ssh密钥。
我知道这样做的唯一方法是ssh到关键的服务器和转发端口22,然后ssh回到我的家用电脑,而转发代理,然后运行git pull在新的shell像这样:
home$ ssh keyserver -R10022:localhost:22 keyserver$ ssh -A localhost -p10022 home$ git pull
有没有更简单的方法来使用远程SSH密钥?
在类似于你的场景中,我使用了两种不同的方法。
要么
如果服务器的configuration方式不会让您的密钥从服务器上卸下,上述两种方法都无法工作。 在这种情况下,没有任何解决办法,比你自己的方法更简单。 但也有替代scheme,可以提供更好的用户体验和/或安全性。
这个命令会打开你自己的示例中使用的同一对ssh连接。 但是,然后返回到可以使用转发代理的启动shell。
export $(grep -m1 ^SSH_AUTH_SOCK= <( ssh -n -R10022:localhost:22 keyserver ssh -A localhost -p10022 "'env ; sleep 99999'"))