使用端口转发 SSH 连接到本地服务器?

SSH-ing to local server using with port forwarding?

我有 2 台服务器,都是 运行 Ubuntu 14.04。他们之间有本地网络,只有第一台服务器有 Public IP,但第二台没有。

我的问题: 我想使用 SSH 访问我的第二台机器。目前,我通过 SSH 连接到我的第一台机器,然后从那里我通过 SSH 连接到第二台机器。有没有办法将特定端口从第一台机器重定向到第二台机器?我的意思是,将特定的传入端口重定向到我的第二台服务器的本地 ip。

示例:

ssh user_at_first_machine@first_machine.com -p 22     # ssh-ing to 1st machine
ssh user_at_second_machine@first_machine.com -p 2222  # ssh-ing to 2nd machine

是的,您可以在第一台服务器上进行 NAT。

    iptables -t nat -I PREROUTING -d <public ip> -p tcp --dport 2222 -j DNAT --to <ip of server 2≥:22

要工作,您需要在服务器 1 上启用转发包:

    sysctl -w net.ipv4.ip_forward=1

要保留它,请在 /etc/sysctl.conf 中添加以下内容:

    net.ipv4.ip_forwarding = 1

并确保服务器 1 的防火墙允许流量。