我使用一个运行的bash脚本
/usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 [email protected]
然而,当我运行的bash脚本,它等待..我看到连接,但脚本不会退出..就像它正在等待SSH进程完成,因为当我手动杀死它的bash脚本完成好。
任何想法如何解决这个问题?
更新:我croned这个脚本..和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安装autossh)的位。
创build没有密码的RSA密钥对,在[email protected]上安装公钥,并尝试:
autossh -f -N -L8888:127.0.0.1:3306 [email protected]
删除$
。
workstation:~$ /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 server.host.com DSA host key for IP address '205.205.219.5' not in list of known hosts. workstation:~$ ps x | grep '\-f' 16170 ? S 0:00 /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 server.host.com
它会直接背景为你详细介绍我。 但是,我的testing服务器上有一个密钥对设置。
你已经在本地服务器上有8888的监听了吗? 你已经有一个实例在后台?
从terminal上分离ssh
进程:
发送到后台
/usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@$34.324.234.23 &
没关系吧
nohup /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@$34.324.234.23