歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用 autossh 自動重啟 SSH 會話和通道

使用 autossh 自動重啟 SSH 會話和通道

日期:2017/2/28 14:47:57   编辑:Linux教程

autossh 是一個用來啟動 ssh 並進行監控的程序,可在需要時重啟 ssh,例如程序掛掉或者是網絡出現問題。其靈感和機制來自於 rstunnel (Reliable SSH Tunnel). autossh 1.2 的方法已經改變:autossh 使用 ssh 來構造一個 ssh 重定向循環(本地到遠程和遠程到本地),然後發送測試數據並獲得返回結果。

autossh 1.3 增加了一個新的方法:可指定遠程 echo 服務的端口用於返回測試數據發送結果。這個避免握手階段以及所有遠程機器端口的沖突問題。而老的 loop-of-forwardings 方法依然可用。
在 Ubuntu 上安裝 autossh

打開終端窗口並運行以下命令

sudo apt-get install autossh

Autossh 語法

autossh [-V] [-M port[:echo_port]] [-f] [SSH_OPTIONS]

在啟動時啟動 ssh 通道

我們可以使用 upstart 來在 Ubuntu 下啟動 ssh 通道,只需要將如下 autossh.conf 文件放在 /etc/init 目錄即可。

# autossh startup Script

description "autossh daemon startup"

start on net-device-up IFACE=eth0
stop on runlevel [01S6]

respawn
respawn limit 5 60 # respawn max 5 times in 60 seconds

script
export AUTOSSH_PIDFILE=/var/run/autossh.pid
export AUTOSSH_POLL=60
export AUTOSSH_FIRST_POLL=30
export AUTOSSH_GATETIME=0
export AUTOSSH_DEBUG=1
autossh -M 0 -4 -N USER@HOSTNAME -D 7070 -o "ServerAliveInterval 60″ -o "ServerAliveCountMax 3″ -o BatchMode=yes -o StrictHostKeyChecking=no -i SSH_KEY_FILE_PATH
end script

Copyright © Linux教程網 All Rights Reserved