更正使用autossh打开反向SSH隧道的选项

我在严格的防火墙后面安装了一个LDAP服务器( ldapserver ),并且在需要使用LDAP服务器进行身份validation的防火墙之外的服务器( appserver )上运行一个web appserver

我已经成功地使用了第三台服务器( tunnelserver ),通过在ldapserver运行以下命令,在appserverldapserver之间build立SSH隧道

 ssh username@appserver -R 28420:ldapserver:389 

唯一的问题是,偶尔我会得到一个破损的pipe道,并丢失SSH隧道。

一个解决scheme似乎autossh ,但我有限的SSH知识勉强得到隧道工作,似乎不足以正确地重新指定autossh的选项。

有小费吗?

参数基本相同( autossh直接将它们传递给ssh )。 删除-f如果你不想自动背景自己。 你可能想要-N选项不在服务器上执行一个shell。 为-M选项select一个空闲端口(上面的端口也必须是空闲的)。 在Debian / Ubuntu上,你可以忽略这个,因为这个软件包包含了一个自动select空闲端口的包装脚本。

 autossh -M 20000 -f -N -R 28420:ldapserver:389 username@appserver 

我注意到在2013年,使用autossh的反向隧道,远程端sshd没有被终止。

我通过脚本来解决这个问题,以启动/停止/重新启动我的隧道(我在crontab中用@reboot启动隧道),其中我会使用ssh强制命令(即停止(或重新启动)隧道)终止远程端。