我有 :
本地网络 A,具有:
- 脱机 Linux 设备 192.168.0.1
- 离线 Windows 设备 192.168.0.2 连接到 Linux 192.168.0.1 中的端口 4444
- 带有两个以太网端口 192.168.0.3 和 DHCP 的 Raspberry Pi,用于连接到反向 SSH AWS 服务器
本地网络 B,具有:
- 脱机 Windows 设备 192.168.0.4
- Raspberry Pi 具有两个以太网端口 192.168.0.5 和 DHCP,可连接到反向 SSH AWS 服务器
如何让我在网络 B 中的 Windows PC 连接到 192.168.0.5:4444 并使用端口转发获取来自网络 A、192.168.0.1:4444 设备的数据?
理想情况下,作为配置,而不是每次重启时都必须运行的命令。
我已经阅读了 ssh 转发和隧道信息,但我想要完成的事情比我所理解的要复杂得多。
答案1
在 AWS 服务器中,编辑 ~/.ssh/config 以添加主机名 192.168.0.1
Host networkApi
Hostname 127.0.0.1
User pi
Port 52566 #Port used to ssh to the pi using reverse ssh
IdentityFile ~/.ssh/networkApi-id_rsa
LocalForward 4444 192.168.0.1:4444
这使得 192.168.0.1 端口 4444 中的信息在 AWS 端口 4444 中可用
在同一个 AWS ~/.ssh/config 文件中,编辑第二个 Pi 信息
Host networkBpi
Hostname 127.0.0.1
User pi
Port 52587 #Port used to ssh to the pi using reverse ssh
IdentityFile ~/.ssh/networkBpi-id_rsa
GatewayPorts yes
RemoteForward 4444 127.0.0.1:4444
这使得 AWS 端口 4444 在网络 B Raspberry Pi 中可用。在网络 B Raspberry Pi 中,编辑文件 /etc/ssh/sshd_config 以设置“GatewayPorts yes”,然后使用以下命令重新启动 ssh 守护程序
sudo service sshd restart
现在从 AWS ssh 进入一个 Pi,从另一个控制台 ssh 进入另一个 Pi。您应该能够通过 telnet 10.10.5.84 4444 访问 192.168.0.1:4444 中的信息,其中 10.10.5.84 是 DHCP 为网络 B 中的 Raspberry Pi 提供的 IP 地址。