用了一天後發現,這東西真不靠譜,還不如自已寫的SHELL檢測重連來的精準和方便,放棄中segmentfault
參考文章:ssh
https://my.oschina.net/umu618/blog/849345函數
http://www.javashuo.com/article/p-sonnzxvs-md.htmlspa
官風的使用說明(英文):https://www.harding.motd.ca/autossh/README.txt.net
過程 :code
首先安裝autossh:blog
opkg updaterem
opkg install autosshget
修改配置: /etc/config/autossh,這裏要注意是config autossh 名稱,最好加上‘名稱’,特別是同時連多個SSH狀況時it
config autossh 1 option ssh '-i /etc/dropbear/my_key_1 -N -T -L localhost:1234:192.168.1.1:4567 who@remote.com -p remoteport' option enabled '1' option monitorport '20001' option gatetime '0' option poll '60' config autossh 2 option ssh '-i /etc/dropbear/my_key_2 -N -T -R 0.0.0.0:5678:localhost:2222 who2@remote2.com -p remoteport_2' option enabled '1' option monitorport '20002'
修改啓動文件:/etc/init.d/autossh ,做用是能夠同時鏈接多臺SSH
給 start_instance() 函數增長兩行:
export SERVICE_MATCH_NAME=1 export SERVICE_NAME="$section"
最終 start_instance() 函數看起來是這樣:
start_instance() { local section="$1" config_get ssh "$section" 'ssh' config_get gatetime "$section" 'gatetime' config_get monitorport "$section" 'monitorport' config_get poll "$section" 'poll' export AUTOSSH_GATETIME="${gatetime:-30}" export AUTOSSH_POLL="${poll:-600}" export SERVICE_MATCH_NAME=1 export SERVICE_NAME="$section" #export SERVICE_DEBUG=1 service_start /usr/sbin/autossh -M ${monitorport:-20000} -f ${ssh} }
啓動autossh
/etc/init.d/autossh start