Autossh+screen實(shí)現(xiàn)可斷開自動(dòng)重連的SSH connection


Introduction & Overview

對(duì)本地服務(wù)或者遠(yuǎn)程服務(wù)經(jīng)常因?yàn)榉阑饓蚱渌W(wǎng)絡(luò)問題導(dǎo)致服務(wù)端口受限的情況下,往往需要對(duì)所提供的服務(wù)端口做轉(zhuǎn)發(fā),本文采用SSH實(shí)現(xiàn)本地或遠(yuǎn)程端口的轉(zhuǎn)發(fā),同時(shí)在網(wǎng)絡(luò)暢通,而連接斷開的情況下自動(dòng)重新連接。

Prerequisite

SSH本地端口轉(zhuǎn)發(fā)命令:

ssh -f -N -L 9907:127.0.0.1:3380 remoteUser@Host

? 其中,9907是本地新開啟的端口服務(wù),3380為遠(yuǎn)程Host實(shí)際提供服務(wù)的端口,在本地終端執(zhí)行以上命令后,實(shí)現(xiàn)請(qǐng)求本地的9907端口即可訪問到遠(yuǎn)程的3380服務(wù),重點(diǎn)在-L參數(shù);Even:遠(yuǎn)程的3380不是可直接訪問。

SSH遠(yuǎn)程端口轉(zhuǎn)發(fā)命令:

ssh -f -C -N -g -R  *:8888:0.0.0.0:9999 remoteUser@Host

? 其中,8888是遠(yuǎn)程新開啟的端口服務(wù),9999為本地實(shí)際提供服務(wù)的端口,在本地終端執(zhí)行以上命令后,實(shí)現(xiàn)請(qǐng)求遠(yuǎn)程的8888端口即可訪問到本地的9999服務(wù),重點(diǎn)在-R參數(shù),遠(yuǎn)程SSH服務(wù)需要做相關(guān)配置。

? Details Click Here

Screen命令:Details

? 查看創(chuàng)建的虛擬會(huì)話:screen -ls

? 重新進(jìn)入虛擬會(huì)話:screen -DR

Operate Flow

  1. 安裝autossh 、screen

  2. 命令行實(shí)現(xiàn)在本地開啟虛擬終端會(huì)話,做SSH本地端口轉(zhuǎn)發(fā)服務(wù)

    screen -DmS tunnel9906 autossh -M 20020 -f -C -N -g -L 9907:127.0.0.1:3380 remoteU@Host
    

    remote:

    screen -DmS tunnelR8888 autossh -M 20000 -f -C -N -g -R *:8888:0.0.0.0:9999 remoteUser@Host
    
  3. or reverse

    autossh -M 20000 -t remoteUser@Host "screen -DR"
    

Test & Taste

Telnet it

telnet localhost 9907
telnet remotehost 8888

Ref

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容