我使用运行的bash脚本
/usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@34.324.234.23
但是,当我运行bash脚本时,它等待..我看到连接即将到来,但脚本没有退出..就像它正在等待SSH进程完成,因为当我手动终止它时,bash脚本完成为好.
任何想法如何解决这个问题?
更新:
我已经完成了这个脚本..并且cron进程就变成了僵尸..实际的脚本运行得很好,对不起,用ps -auxf得到:
root 597 0.0 0.7 2372 912 ? Ss Jul12 0:00 cron root 2595 0.0 0.8 2552 1064 ? S 02:09 0:00 \_ CRON 1001 2597 0.0 0.0 0 0 ? Zs 02:09 0:00 \_ [sh] <defunct> 1001 2603 0.0 0.0 0 0 ? Z 02:09 0:00 \_ [cron] <defunct>
当我杀死ssh时,已经解散的东西消失了……为什么它们会变得不复存在?
解决方法
看来你正试图重新实现
autossh的位(apt-get install autossh).
创建一个没有密码短语的RSA密钥对,在serveradmin@34.324.234.23上安装公钥并尝试:
autossh -f -N -L8888:127.0.0.1:3306 serveradmin@34.324.234.23