参考https://www.cnblogs.com/kwongtai/p/6903420.html
但是autossh和外网机ssh使用supervisor以及expect实现自动重启,开机启动
内网机:
[program:ssht]
command=autossh -M 7281 -CNR 7280:localhost:22 xxx@192.168.111.111
user=pi
autostart=true
autorestart=true
startretries=3
stdout_logfile=/var/log/supervisor_pi/spv_ssht.log
stderr_logfile=/var/log/supervisor_pi/spve_ssht.log
外网机:
/data/software/sshtunnel.exp
#!/usr/bin/expect
proc sshTunnel {} {
log_user 1
set passwd "xxxxxx"
set timeout 500
spawn ssh -CNL *:222:localhost:7280 localhost
expect {
"yes/no" {send "yes\r"; exp_continue}
-re "\[Pp\]assword:" {
send "${passwd}\r"
puts "ssh tunnel start ok\n"
exp_continue
}
}
}
sshTunnel
[program:ssht]
command=/data/software/sshtunnel.exp
autostart=true
autorestart=true
startretries=3
stdout_logfile=/data/software/logs/spv_ssht.log
stderr_logfile=/data/software/logs/spve_ssht.log