本篇文章為大家展示了怎么學(xué)懂SSH隧道技術(shù),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)專注于嶧城企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。嶧城網(wǎng)站建設(shè)公司,為嶧城等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
概述
將介紹一些關(guān)于 SSH 隧道技術(shù)的小技巧,并且給出一個網(wǎng)絡(luò)拓?fù)鋱D更好地解釋在做的東西。
網(wǎng)絡(luò)基礎(chǔ)
假設(shè)我的網(wǎng)絡(luò)情況是這樣的一個簡化拓?fù)洌?/p>
圖 1:簡化網(wǎng)絡(luò)拓?fù)?/p>
那么這里有幾種可能的操作,分別是:
從 Home PC 直接 SSH Office PC
從 Office PC SSH 到 Home PC 同理
從 Home PC 直接 SSH 到 vps
從 Office PC SSH 到 VPS 同理
從 VPS SSH 到 Home(Office) PC
在這幾個場景中,最簡單實(shí)現(xiàn)的就是:從 Home PC SSH 到 VPS,這也是我們平時最常見的一個操作。只所以我們可以輕松地實(shí)現(xiàn)這個原理,是因?yàn)?VPS 擁有公網(wǎng) IP,我們可以直接從 Home PC 中路由到 VPS,反之,因?yàn)槲覀兊?Home PC 沒有公網(wǎng) IP,所以 VPS 無法直接 SSH 到我們的 Home PC。
那么這里就會有同學(xué)有想法了,那么我們的 Home PC 能不能有公網(wǎng) IP,答案肯定是可以的,從上圖中可以看到,簡單來說,PC 和 VPS 的差異就在于 PC 還接了一次路由器,那么如果直接將 PC 介入 ISP 網(wǎng)絡(luò)中,是不是就可以擁有公網(wǎng) IP 了。這個問題很復(fù)雜,答案是可能是,這依賴于你的 ISP 如果提供網(wǎng)絡(luò)給你,在以前 ADSL 時代,基本上都是可以提供公網(wǎng) IP 的,但是,隨著光纖的普及,即使你不使用路由器,你也不是直接介入 ISP 的骨干網(wǎng)了,而是 ISP 的一個分線器,例如 FTTB 系列。所以,這里設(shè)想讓 PC(路由器) 擁有公網(wǎng) IP 的想法不具有通用性,加上即使有,ISP 可能也會限制一些端口,因此用的也不多。
SSH 隧道
所以,終于進(jìn)入到本文的主題了,既然沒法直接連接到 PC,那么可不可以反過來,讓 PC 自己主動來發(fā)起請求,這就是 SSH 隧道的原理了:
[root@liqiang.io]# ssh -qngfNTR 9999:localhost:8888 root@192.168.29.48
命令行快速使用
[root@liqiang.io]# cat ~/.ssh/config Host jump HostName 10.0.0.102 Port 22 User root IdentityFile /root/.ssh/id_rsa ForwardAgent yes Host 10.0.0.87 HostName 10.0.0.87 ProxyJump jump User zhangsan
首先需要確保可以直接登錄跳板機(jī):10.0.0.102;
10.0.0.87 是通過 10.0.0.102 這個跳板機(jī)訪問的;
Tips
反向隧道只監(jiān)聽 localhost
[root@liqiang.io]# cat /etc/ssh/sshd_config GatewayPorts = yes
代理 UDP
反向代理
本地機(jī)器:
[root@liqiang.io]# yum install -y nc [root@liqiang.io]# mkfifo /tmp/fifo [root@liqiang.io]# nc -l -p 1162 < /tmp/fifo | nc -u localhost 1163 > /tmp/fifo
這里的意思是說監(jiān)聽機(jī)器上的 1162 端口發(fā)出來的數(shù)據(jù),然后以 UDP 的形式將數(shù)據(jù)發(fā)送給 localhost:1163。
遠(yuǎn)程機(jī)器
[root@liqiang.io]# mkfifo /tmp/fifo [root@liqiang.io]# nc -l -u -p 1163 < /tmp/fifo | nc localhost 1162 > /tmp/fifo
這里的意思是在機(jī)器上監(jiān)聽 1163 端口的 UDP 協(xié)議,然后將收到的 UDP 流量通過 TCP 鏈路 localhost:1162 發(fā)送出去。
注意要點(diǎn)
必須先在本地執(zhí)行完命令之后再去遠(yuǎn)程服務(wù)器執(zhí)行,不然,服務(wù)器這邊會因?yàn)闆]有數(shù)據(jù)而導(dǎo)致無法正常運(yùn)行;
在使用過程中我遇到了一個問題就是這種方式只能接收一次 UDP,第二次就無法接收成功了;
這是反向代理的例子,正向代理反過來即是。
上述內(nèi)容就是怎么學(xué)懂SSH隧道技術(shù),你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱:怎么學(xué)懂SSH隧道技術(shù)
地址分享:http://jinyejixie.com/article4/ggesoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)