我必须访问防火墙后面的 openvpn-vpn 服务器,因此为此我使用 ssh-reverse 隧道。虽然使用“正常”ssh
命令有效,但通过连接autossh
却无效。对于所有其他连接都autossh
工作正常。
SSH 命令:
ssh -R 0.0.0.0:8888:localhost:1194 user@server -N
Autossh 命令:
/usr/bin/autossh -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -N -R 0.0.0.0:8888:localhost:1149 user@server
尝试连接时出现错误消息
autossh
:debug1: connect_next: host localhost ([127.0.0.1]:1149) in progress, fd=7 debug3: channel 2: waiting for connection debug1: channel 2: connection failed: Connection refused connect_to localhost port 1149: failed. debug3: send packet: type 92 debug2: channel 2: zombie debug2: channel 2: garbage collecting debug1: channel 2: free: 193.175.84.201, nchannels 3 debug3: channel 2: status: The following connections are open:
我不知道这里有什么区别,有人知道可能出了什么问题吗?
答案1
找到了解决方案,对于有同样问题的人:
代替:
/usr/bin/autossh -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -N -R 0.0.0.0:8888:localhost:1149 user@server
命令需要像这样:
/usr/bin/autossh -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -o ExitOnForwardFailure=yes -R 0.0.0.0:8888:localhost:1194 user@server -N
所以该-N
选项需要是在最后。