这个做法是在 执行机上配置一个常驻 SSH 隧道,把大网的某个端口长期转发到小网单板的 22 端口。
假设:
192.168.1.10
22
2222
(这个是外网访问用的端口)在执行机上编辑一个 systemd unit:
sudo nano /etc/systemd/system/soc-board-tunnel.service
内容:
[Unit]
Description=SOC Board SSH Proxy
After=network.target
[Service]
User=jumpuser
ExecStart=/usr/bin/ssh -N -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 0.0.0.0:2222:192.168.1.10:22 [email protected]
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable soc-board-tunnel
sudo systemctl start soc-board-tunnel
sudo systemctl status soc-board-tunnel
现在每次拖文件/SSH,MobaXterm 都会直接访问 SOC 单板。
如果你愿意修改执行机的 SSH 配置,可以让执行机的 sshd 自动充当跳板。
1️⃣ 修改 /etc/ssh/sshd_config
GatewayPorts yes
AllowTcpForwarding yes
2️⃣ 重启 sshd
sudo systemctl restart sshd
3️⃣ 执行一次持久转发(后台运行)
nohup ssh -N -R 0.0.0.0:2222:192.168.1.10:22 youruser@localhost &
4️⃣ 永久化
把上面的命令加到 ~/.bashrc
或 crontab:
@reboot ssh -N -R 0.0.0.0:2222:192.168.1.10:22 youruser@localhost
这样每次执行机重启后都会自动打开映射。
如果你有多个单板,也可以配多份 soc-board-tunnel.service
,每个监听不同端口(比如 2222、2223)。