SSH反向隧道實現內網穿透

一晌块、前言

網絡上有很多強大的內網穿透軟件爱沟,但對于某些很簡單的需求來說可以通過SSH來實現更為方便。

二匆背、配置

配置思路:在 A 機器上做到 B 機器的反向代理呼伸;在 B 機器上做正向代理本地端口轉發(fā)。

主機編號 IP地址 用戶名 備注
A A.A.A.A usera 客戶端
B B.B.B.B userb 服務器
  1. 建立客戶端A到服務器B的反向代理(在客戶端A上操作)

    ssh -CNR 8081:localhost:80 userb@B.B.B.B
    
    # 8081為服務器B端口钝尸,用來與客戶端A的80端口綁定括享。
    # 可通過 -f 參數實現后臺運行
    

    到這里客戶端A的80端口已經映射到服務器B的8081端口闽铐,可以在通過服務器B的8080端口訪問客戶端A的80端口,但注意只支持服務器B本地訪問奶浦。

  2. 建立服務器B上的正向代理用作本地轉發(fā)(在服務器B上操作)
    因為綁定后的端口只支持服務器B本地訪問,所以我們需要把已經映射的端口轉發(fā)出去踢星。

    ssh -CNL "*:8080:localhost:8081' localhost
    
    # 8080為本地轉發(fā)端口,將數據轉發(fā)到先前已經映射的8081端口澳叉,實現外網訪問。
    # 其中的*表示接受來自任意機器的訪問沐悦。
    # 可通過 -f 參數實現后臺運行
    

    現在可以通過服務器B的8080端口訪問到客戶端A的80端口成洗。

  3. 實現持久化連接和無密碼登陸
    我們配置完代理后可以正常使用了,但不幸的是這種ssh反向連接會因為超時而關閉藏否,如果關閉了那從外網連通內網的通道就無法維持了瓶殃,為此我們需要另外的方法來提供穩(wěn)定的ssh反向代理隧道。

    • 無密碼登陸
      a.通過設置KEY登陸(操作略)
      b.使用sshpass命令(需安裝):
      sshpass -p "ssh密碼" ssh -CNR 8081:localhost:80 userb@B.B.B.B
      c.使用plink工具連接(windows):
      plink.exe -pw "ssh密碼" ssh -CNR 8081:localhost:80 userb@B.B.B.B

    • 用autossh(需安裝)建立穩(wěn)定隧道
      autossh的參數與ssh的參數是一致的副签,但是不同的是在隧道斷開的時候遥椿,autossh會自動重新連接而ssh不會;另外不同的是 -M 參數淆储,該參數指定一個端口用于外網的主機用來接收內網主機的信息冠场,若隧道不正常則返回給內網主機重新連接。

      autossh -M 5678 -f -CNR 8081:localhost:80 userb@B.B.B.B
      # 參數 -f 為后臺運行
      

      可使用sshpass與autossh組合使用:

      sshpass -p "ssh密碼" autossh -M 5678 -CNR 8081:localhost:80 userb@B.B.B.B
      

      注:使用sshpass本砰,那么autossh不能加-f參數碴裙,因為sshpass需要autossh在前臺請求密碼才能實現輸入(這點和expect差不多),而加上-f參數放后臺后會無效点额,所以若要使用sshpass請務必不要加-f參數舔株,建議使用autossh然后配合-i參數使用用key認證登陸。 最后可以把命令加入開機啟動項實現開機啟動还棱。

  4. 附 SSH命令參數說明

    -f 后臺運行
    -C 允許壓縮數據
    -N 不執(zhí)行任何命令
    -R 將端口綁定到遠程服務器载慈,反向代理
    -L 將端口綁定到本地客戶端,正向代理
    
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末诱贿,一起剝皮案震驚了整個濱河市娃肿,隨后出現的幾起案子,更是在濱河造成了極大的恐慌珠十,老刑警劉巖料扰,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異焙蹭,居然都是意外死亡晒杈,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門孔厉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拯钻,“玉大人帖努,你說我怎么就攤上這事》喟悖” “怎么了拼余?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亩歹。 經常有香客問我匙监,道長,這世上最難降的妖魔是什么小作? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任亭姥,我火速辦了婚禮,結果婚禮上顾稀,老公的妹妹穿的比我還像新娘达罗。我一直安慰自己,他們只是感情好静秆,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布粮揉。 她就那樣靜靜地躺著,像睡著了一般诡宗。 火紅的嫁衣襯著肌膚如雪滔蝉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天塔沃,我揣著相機與錄音蝠引,去河邊找鬼。 笑死蛀柴,一個胖子當著我的面吹牛螃概,可吹牛的內容都是我干的。 我是一名探鬼主播鸽疾,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼吊洼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了制肮?” 一聲冷哼從身側響起冒窍,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎豺鼻,沒想到半個月后综液,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡儒飒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年谬莹,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡附帽,死狀恐怖埠戳,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情蕉扮,我是刑警寧澤整胃,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站喳钟,受9級特大地震影響爪模,放射性物質發(fā)生泄漏。R本人自食惡果不足惜荚藻,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洁段。 院中可真熱鬧应狱,春花似錦、人聲如沸祠丝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽写半。三九已至岸蜗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間叠蝇,已是汗流浹背璃岳。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悔捶,地道東北人铃慷。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像蜕该,于是被迫代替她去往敵國和親犁柜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容