我正在寻找一种方法来通过 SSH 连接到我的其中一台位于 jumpbox 后面的服务器。我可以通过运行以下命令来实现这一点:
$ ssh -tt ptitpou@jumpbox ssh -tt ptitpou@targetserver
现在,我希望能够使用该服务器访问targetserver
网络上的 Web 服务器。为此,我遵循了这个 quora 答案并且我能够成功访问网站。我使用的命令是:
$ ssh -L 127.0.0.1:9999:localhost:9696 -tt ptitpou@jumpbox ssh -D 9696 -tt ptitpou@targetserver
我想问的问题是如何ssh -o ProxyCommand
以更简洁的方式使用 to 命令。我尝试将命令的第二部分作为代理命令,并且成功建立了 SSH 连接,但之后我无法使用代理。
我也尝试过这但连接到后命令行挂起targetserver
。
我该怎么做?我尝试使用ProxyCommand
选项来完成这项任务是错误的吗?
答案1
我假设你正在使用 openssh。最简单的方法是使用最近出现的 ProxyJump。你可以从命令行使用它,实际上有以下命令:
ssh -J ptitpou@jumpbox -D 9999 -tt ptitpou@targetserver
或从配置文件:
Host targetserver
ProxyJump ptitpou@jumpbox
DynamicForward 9999
或者你也可以使用 ProxyCommand:
Host targetserver
ProxyCommand ssh -W %h:%p ptitpou@jumpbox
DynamicForward 9999