我有三台计算机,A、B、C。A 是我正在使用的计算机,C 是我想要访问的远程计算机。但是只能通过 B 访问 C。只有 B 有 ssh 服务器,只有 A 有 ssh 客户端。
我应该使用什么命令(最好在 A 上使用)以便可以通过 B 连接到 C(端口 80)?例如,B 应将所有传入端口 12345 转发到 C:80。
我知道这是一个常见的问题,我在谷歌上找到了很多命令,但似乎都没有用。
一旦设置完成,我应该在 A 上使用 localhost:5678,连接到 B:1234,然后转发到 C:80。
谢谢。
答案1
可能是sshd
守护进程设置为不允许端口转发到其他机器,或者根本不允许端口转发。无论如何,要A
访问C
端口 80,正确的命令如下:
ssh -L localhost:5678:<ip-or-name-of-C>:80 <ip-or-name-of-B>
会话建立后,ssh
您连接到 localhost:5678 以连接到 C:80。如果您希望将主机 A:5678 的任何入站连接转发到 C:80,请localhost:
从上面的命令中删除。
如果到其他主机的端口转发已禁用B
,那么您可以尝试如下链接:这里