使用 SSH 的双 SOCKS5 代理

使用 SSH 的双 SOCKS5 代理

我正在寻找一种方法来通过 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

相关内容