先安装sshpass,需要使用screen,不然ssh会断
cd /etc/init.d/
nano test.sh
chmod 755 test.sh
注释为解决“缺少LSB标签报错”需要添加的内容
test.sh内容:
#!/bin/bash ### BEGIN INIT INFO # Provides: rss # Required-Start: $remote_fs $network # Required-Stop: $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: dickmo rss ### END INIT INFO screen -dmS ssh screen -r ssh -p 0 -X stuff "/home/user/ssh.sh" screen -r ssh -p 0 -X stuff $'\n'
update-rc.d rss.sh defaults 90
以上为开机启动项
ssh.sh内容:先等待60秒,等到网络初始化后再运行,1200秒检查一次ssh是否运行 #!/bin/bash sleep 60 while [ '' == '' ] do ssh_d_process_num=`ps aux|grep -E 'ssh \-' |grep -v grep |wc -l` if [ "$ssh_d_process_num" == "0" ];then /usr/bin/sshpass -p "密码" ssh -t -t -R 映射后服务器ip:映射后服务器端口:映射前的内网ip:映射前的内网端口 administrator@服务器 & fi sleep 1200 done