利用AutoSSH建立SSH隧道,實(shí)現(xiàn)內(nèi)網(wǎng)穿透

本文來(lái)自 悟塵紀(jì)浦箱,獲取更新內(nèi)容可查看原文:https://www.lixl.cn/2020/010618877.html

當(dāng)我們使用公司或家中電腦搭建了 Web 服務(wù)時(shí)吸耿,一般不能直接從外網(wǎng)訪問(wèn),為了實(shí)現(xiàn)從外網(wǎng)直接訪問(wèn)到內(nèi)網(wǎng)的服務(wù)酷窥,一般會(huì)需要用到 內(nèi)網(wǎng)穿透 技術(shù)咽安。常用的內(nèi)網(wǎng)穿透工具有 NAT 轉(zhuǎn)發(fā)、DMZ 主機(jī)蓬推、AutoSSH妆棒、ngrok、frp沸伏、花生殼等糕珊。下面將會(huì)介紹如何通過(guò) SSH 端口轉(zhuǎn)發(fā),使內(nèi)網(wǎng)主機(jī) A 的服務(wù)轉(zhuǎn)發(fā)至公網(wǎng)主機(jī) B 上毅糟。

需要條件

? 一臺(tái)內(nèi)網(wǎng)主機(jī) A红选,一臺(tái) Linux 公網(wǎng)主機(jī) B。下文以 CentOS7 系統(tǒng)為例姆另。

第一步:公網(wǎng)服務(wù)器配置

? 修改公網(wǎng)主機(jī) B 的 SSH 配置文件/etc/ssh/sshd_config

GatewayPorts yes

? 這樣可以把監(jiān)聽(tīng)的端口綁定到任意 IP 0.0.0.0 上喇肋,否則只有本機(jī) 127.0.0.1 可以訪問(wèn)。

? 重啟 sshd 服務(wù)

sudo service sshd restart

第二步:安裝 AutoSSH 服務(wù)

在內(nèi)網(wǎng)主機(jī) A 上蜕青,執(zhí)行以下命令安裝 AutoSSH

yum install autossh

第三步:斷線免密登錄自動(dòng)重連

? ssh 反向鏈接會(huì)因?yàn)槌瑫r(shí)而關(guān)閉苟蹈,如果關(guān)閉了那從外網(wǎng)連通內(nèi)網(wǎng)的通道就無(wú)法維持,為此我們需要結(jié)合免密碼登錄及 AutoSSH 來(lái)提供穩(wěn)定的 ssh 反向代理隧道右核。

? 1慧脱、在內(nèi)網(wǎng)主機(jī) A 上產(chǎn)生公鑰和私鑰

ssh-keygen

然后按三次回車執(zhí)行默認(rèn)選項(xiàng)生成公鑰和私鑰。會(huì)生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub 或 id_dsa,id_dsa.pub

? 2贺喝、拷貝秘鑰
?? 在內(nèi)網(wǎng)主機(jī) A 上繼續(xù)執(zhí)行如下命令菱鸥,將內(nèi)網(wǎng)主機(jī) A 上的秘鑰文件 copy 到公網(wǎng)主機(jī) B 中宗兼。

ssh-copy-id  username@ip

其中“username”是公網(wǎng)主機(jī) B 的用戶名,ip 為公網(wǎng)主機(jī) B 的 ip氮采,然后按照提示輸入公網(wǎng)主機(jī) B 的密碼就完成了殷绍。

第四步:利用 AutoSSH 實(shí)現(xiàn)端口轉(zhuǎn)發(fā)

在內(nèi)網(wǎng)主機(jī) A 上,利用 AutoSSH 建立一條 SSH 隧道

 autossh -M 4010 -NR 80:localhost:4000 username@xxx.xxx.xxx.xxx (-p xxxx)

? 參數(shù)解釋:

  • “-M 4010”意思是使用內(nèi)網(wǎng)主機(jī) A 的 4010 端口監(jiān)視 SSH 連接狀態(tài)鹊漠,連接出問(wèn)題了會(huì)自動(dòng)重連
  • “ -N”意思是不執(zhí)行遠(yuǎn)程命令
  • “-R”意思是將遠(yuǎn)程主機(jī)(公網(wǎng)主機(jī) B)的某個(gè)端口轉(zhuǎn)發(fā)到本地指定機(jī)器的指定端口

? 代碼解釋:

  • “80:localhost:4000”意思是將內(nèi)網(wǎng)主機(jī) A 的 4000 號(hào)端口轉(zhuǎn)發(fā)至公網(wǎng)主機(jī) B 的 80 號(hào)端口上

  • username@xxx.xxx.xxx.xxx”意思是公網(wǎng)主機(jī) B 的用戶名和 IP

  • “-p xxxx”意思是公網(wǎng)主機(jī) B 的 SSH 端口主到,如果是默認(rèn)的 22 號(hào)端口,則可以不輸入.

第五步:監(jiān)聽(tīng)端口檢查

? 分別檢查本地主機(jī) A 及公網(wǎng)主機(jī) B 的端口監(jiān)聽(tīng)情況躯概,出現(xiàn)如下進(jìn)程則為正常登钥。

? 本地主機(jī) A:

[root@localhost ~]# lsof -i:4010
COMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ssh      6710 lixl    5u  IPv6 0x15699cecfe8a4995      0t0  TCP localhost:altserviceboot (LISTEN)
autossh 46984 lixl    3u  IPv4 0x15699cece41d5e95      0t0  TCP localhost:altserviceboot (LISTEN)

? 遠(yuǎn)程主機(jī) B:

[root@localhost ~]# lsof -i:8080
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    9762 root   10u  IPv4 473994      0t0  TCP *:webcache (LISTEN)
sshd    9762 root   11u  IPv6 473995      0t0  TCP *:webcache (LISTEN)

第六步:開(kāi)啟自啟動(dòng)

? 配置 AutoSSH 開(kāi)機(jī)自啟動(dòng),輸入:

vi /etc/rc.d/rc.local

? 添加內(nèi)容:

autossh -M 4010 -fCNR 80:localhost:4000 username@xxx.xxx.xxx.xxx (-p xxxx)
chmod +x /etc/rc.d/rc.local

? centos7 之后娶靡,修改/etc/rc.d/rc.local 啟動(dòng)腳本需要重新賦予可執(zhí)行權(quán)限牧牢。

? 至此完成了端口轉(zhuǎn)發(fā),在相應(yīng)的應(yīng)用(如瀏覽器)中輸入公網(wǎng)服務(wù)器 B 的 IP+端口即相當(dāng)于直接訪問(wèn)內(nèi)網(wǎng)主機(jī) A 的相應(yīng)服務(wù)姿锭,大功告成塔鳍!

常見(jiàn)問(wèn)題

  • 配置完通過(guò)外網(wǎng) IP 加端口無(wú)法訪問(wèn): 請(qǐng)檢查公網(wǎng)服務(wù)器防火墻是否開(kāi)放響應(yīng)端口。
  • 本地服務(wù)重啟后呻此,通過(guò)外部端口無(wú)法訪問(wèn):這種情況是由于沒(méi)有檢測(cè)到通道之前已經(jīng)斷開(kāi)轮纫,AutoSSH 應(yīng)該有類似的機(jī)制,還沒(méi)有仔細(xì)研究焚鲜。

參考文章

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蜡感,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子恃泪,更是在濱河造成了極大的恐慌,老刑警劉巖犀斋,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贝乎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡叽粹,警方通過(guò)查閱死者的電腦和手機(jī)览效,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)虫几,“玉大人锤灿,你說(shuō)我怎么就攤上這事×玖常” “怎么了但校?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)啡氢。 經(jīng)常有香客問(wèn)我状囱,道長(zhǎng)术裸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任亭枷,我火速辦了婚禮袭艺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叨粘。我一直安慰自己猾编,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布升敲。 她就那樣靜靜地躺著答倡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冻晤。 梳的紋絲不亂的頭發(fā)上苇羡,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音鼻弧,去河邊找鬼设江。 笑死,一個(gè)胖子當(dāng)著我的面吹牛攘轩,可吹牛的內(nèi)容都是我干的叉存。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼度帮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼歼捏!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起笨篷,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瞳秽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后率翅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體练俐,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年冕臭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腺晾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辜贵,死狀恐怖悯蝉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情托慨,我是刑警寧澤鼻由,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響嗡靡,放射性物質(zhì)發(fā)生泄漏跺撼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一讨彼、第九天 我趴在偏房一處隱蔽的房頂上張望歉井。 院中可真熱鬧,春花似錦哈误、人聲如沸哩至。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)菩貌。三九已至,卻和暖如春重荠,著一層夾襖步出監(jiān)牢的瞬間箭阶,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工戈鲁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仇参,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓婆殿,卻偏偏與公主長(zhǎng)得像诈乒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子婆芦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容