ldapserver
我在严格的防火墙后面设置了一个 LDAP 服务器 ( ),并且appserver
在防火墙外部的服务器 () 上运行了一个 Web 应用程序,该 Web 应用程序需要使用该 LDAP 服务器进行身份验证。
我已成功使用第三台服务器( )作为中间服务器,通过在 上运行以下命令在和tunnelserver
之间建立了 SSH 隧道:appserver
ldapserver
tunnelserver
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 强制命令(即在停止(或重新启动)隧道时)终止远程端。