使用 autossh 保持反向 SSH 隧道打开的正确选项

使用 autossh 保持反向 SSH 隧道打开的正确选项

ldapserver我在严格的防火墙后面设置了一个 LDAP 服务器 ( ),并且appserver在防火墙外部的服务器 () 上运行了一个 Web 应用程序,该 Web 应用程序需要使用该 LDAP 服务器进行身份验证。

我已成功使用第三台服务器( )作为中间服务器,通过在 上运行以下命令在和tunnelserver之间建立了 SSH 隧道:appserverldapservertunnelserver

ssh username@appserver -R 28420:ldapserver:389

唯一的问题是偶尔管道会破裂,并丢失 SSH 隧道。

一个解决方案似乎自动SSH,但我有限的 SSH 知识几乎无法使隧道正常工作,而且似乎不足以正确地重新指定 的选项autossh

有小费吗?

答案1

参数基本相同(autossh直接传递给ssh)。-f如果您不想autossh将其置于后台,请删除。您可能希望该-N选项不在服务器上执行 shell。为该-M选项选择一个空闲端口(上面的端口也必须是空闲的)。在 Debian/Ubuntu 上,您可以省略这一点,因为该软件包包含一个包装器脚本,它会自动选择一个空闲端口。

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

答案2

我于 2013 年注意到,使用 autossh 建立反向隧道时,远程端 sshd 并未终止。

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

相关内容