使用两个服务器创建代理

使用两个服务器创建代理

我想实现一个中间有两个(A 和 B)服务器的代理。流量从我的计算机流向服务器 B,然后流向服务器 A,然后获取数据。我发现在 ~/.ssh/config 中使用以下配置:

HOST B
    HostName B
    user debian
    DynamicForward 0.0.0.0:1081

我可以使用 1081 端口作为代理。但现在我不知道如何通过 A 代理所有 B 的流量。

答案1

您希望将客户端上的端口转发到服务器上的固定端口A

ssh -L 1080:localhost:1081 A

localhost是服务器A。在服务器的 1081 端口上,A您必须有一个动态 (SOCKS5) 代理:

ssh -D 1081 B

综合起来:

ssh -t -L 1080:localhost:1081 A -- ssh -D 1081 B

如果在主机 A 和主机 B 之间使用基于密码的身份验证,或者

ssh -f -L 1080:localhost:1081 A -- ssh -D 1081 B

如果您使用公钥认证并希望ssh在后台工作。

相关内容