我在 Windows XP 上使用 cygrunsrv 和 autossh 来创建一个服务,建立一个到远程服务器的隧道,但我也想创建另一个从远程服务器到另一台服务器的隧道。
我可以用这个命令行来实现它:
autossh -M 5432 serverA -t 'autossh -M 4321 serverB -N'
但是当我想通过 cygrunsrv 在 cygwin 中设置它以使其作为服务工作时:
cygrunsrv -I TUNNEL -p /usr/bin/autossh -a "-M 5432 serverA -t 'autossh -M 4321 serverB -N'" -e AUTOSSH_NTSERVICE=yes -e AUTOSSH_POLL=20 -e AUTOSSH_GATETIME=30
它没有完全工作。该服务正在正确地创建到 ServerA 的隧道,但它没有向 ServerA 发送 autossh 命令“autossh -M 4321 serverB -N”。我试图逃避报价,但我所有的努力都没有任何区别,而且我没有看到 autossh 日志中发送的任何命令。
我认为这个问题与不是通过 cygrunsrv 创建的伪终端有关。
我想知道是否有办法修复我的 cygrunsrv 命令行以使其正常工作,还是我应该考虑采用不同的方法?