Col*_*son 1 ssh ssh-keys ssh-agent
我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
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来使用远程 ssh 密钥?
我在与您类似的场景中使用了两种不同的方法。
或者
如果服务器的配置方式永远不会让您的密钥离开服务器,则上述方法都不起作用。在这种情况下,没有任何解决方案,这比您自己的方法更简单。但是有替代方案,可以提供更好的用户体验和/或安全性。
此命令将打开您在自己的示例中使用的同一对 ssh 连接。但是然后返回到启动 shell,您可以在其中使用转发的代理。
export $(grep -m1 ^SSH_AUTH_SOCK= <(
ssh -n -R10022:localhost:22 keyserver ssh -A localhost -p10022 "'env ; sleep 99999'"))
Run Code Online (Sandbox Code Playgroud)