![通过 VPN 通过 SSH 启动远程命令](https://linux22.com/image/1545590/%E9%80%9A%E8%BF%87%20VPN%20%E9%80%9A%E8%BF%87%20SSH%20%E5%90%AF%E5%8A%A8%E8%BF%9C%E7%A8%8B%E5%91%BD%E4%BB%A4.png)
我有一台 Debian 服务器(A)和两台 Raspberry Pi(B 和 C)。
我想从服务器 A 在 B 和 C 上启动命令。B 与 A 在同一个子网中,但 C 在不同的子网中,通过 Ipsec VPN 连接到第一个子网。
当我在 A 上启动以下命令时,它在 B 上运行,但在 C 上运行不成功:
ssh pi@B 'touch test'
工作中。
ssh pi@C 'touch test'
不起作用,启动后立即挂起,我必须按 Ctrl+C 才能退出。
但是,当我尝试通过 SSH 从 A 连接到 C 时,使用 ssh pi@C 一切正常。
有人有想法吗?我可以运行哪些测试来找出导致此问题的原因?
事实上,我拥有远超 2 个树莓派,所有与我的服务器不在同一子网的树莓派都面临着同样的问题。
编辑:就像 Jaroslav Kucera 所建议的那样,我尝试在 B 和 C 上增加 ssh 命令的详细程度来比较输出。
在 C 上收到该消息后,它就被阻止了:
debug2: channel 0: open confirm rwindow 0 rmax 32768
答案1
我只需在 ssh 命令中添加 -o IPQoS=cs0 即可使其工作:
ssh -o IPQoS=cs0 pi@C 'touch test'