我在Windows XP上使用cygrunsrv和autossh创建一个服务,建立到远程服务器的隧道,但我也想从远程服务器创建另一个隧道到另一个服务器。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正确创建隧道,但它不会将autossh命令“autossh -M 4321 serverB-N”发送到ServerA。 我试图逃避报价,但我所有的努力没有任何区别,我没有看到在autossh日志中发送任何命令。
我认为这个问题与不通过cygrunsrv创建的伪终端有关。
我想知道是否有办法修复我的cygrunsrv命令行以使其工作,或者我应该考虑一种不同的方法?
非常感谢安德鲁,我删除了AUTOSSH_NTSERVICE =是在我的命令行,它worked.I相信这是一个必要的选择,因为它加载的服务,我明显错过了-N标志注意到在自述,残疾shell访问,阻止我的第二个autossh调用被发送。 – Lionel 2012-01-04 16:56:27
再次感谢您的时间和记录答案。祝你有美好的一天 ! – Lionel 2012-01-04 17:04:42