久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Linux基礎教程之SSH端口轉發

1
2
3
4
5
6
7
8
? ? SSH 會自動加密和解密所有SSH 客戶端與服務端之間的網絡數據。但是,SSH 還能夠將其他TCP 端口的網絡數據通過SSH 鏈接來轉發,并且自動提供了相應的加密及解密服務。這一過程也被叫做“隧道”(tunneling),這是因為SSH 為其他TCP 鏈接提供了一個安全的通道來進行傳輸而得名。例如,Telnet,SMTP,LDAP 這些TCP 應用均能夠從中得益,避免了用戶名,密碼以及隱私信息的明文傳輸。而與此同時,如果工作環境中的防火墻限制了一些網絡端口的使用,但是允許SSH 的連接,也能夠通過將TCP 端口轉發來使用SSH 進行通訊。
? ?SSH 端口轉發能夠提供兩大功能:
? (1)加密SSH Client 端至SSH Server 端之間的通訊數據
? (2)突破防火墻的限制完成一些之前無法建立的TCP 連接
? ? 例如這樣一種應用場景:B、C位于企業內部的同一個局域網,A位于互聯網上的某個網絡,企業內部設置了防火墻,A想通過互聯網訪問C機器上的telnet服務,由于telenet服務不安全,所以企業的防火墻策略中一般會禁止外部用戶訪問內部機器上的telnet,并且企業一般不允許開VPN,開VPN相當于直接連到企業內部。由于ssh服務是比較安全的,所以企業的防火墻策略中一般會允許外部用戶訪問內部某個運行著ssh服務的主機,所以A要訪問C上的telenet服務可以通過ssh端口轉發的方式,假設B就是一個ssh服務器,即A可以通過訪問B上的ssh服務進而去訪問C上的telenet服務,此時B是堡壘機,相當于一個跳板,A借助這個跳板訪問企業內部C的telnet服務,此時A和B之間是ssh連接,B和C之間。下面模擬一下這種場景:
? ?A:centos7(192.168.25.107)
? ?B:rhel5(192.168.25.100)
? ?C:centos6(192.168.25.106)

這里寫圖片描述

1
查看C上是否安裝了telnet服務

這里寫圖片描述

1
查看telnet服務是否已打開(由圖中可看出telnet服務已設為開機啟動)

這里寫圖片描述

1
telnet服務的23端口已打開

這里寫圖片描述

1
先禁用一下C的防火墻

這里寫圖片描述

1
拒絕來自于A發起的請求,模擬防火墻對telnet連接的限制

這里寫圖片描述

1
A上確認一下沒有其他服務正在使用9527端口

這里寫圖片描述

1
? ?因為之前做了基于key驗證的實驗,所以沒有輸密碼直接就連上了,并且跳轉到了遠程shell即B上,即此時A與B已經建立起ssh連接,相當于為不安全的telnet連接搭建了一個安全的隧道。此時想在A上繼續執行命令,不能exit退出遠程shell,因為此時隧道已經建起來了,若exit,隧道就斷開了,所以要么再單獨開一個終端,要么加-Nf選項。

這里寫圖片描述

1
2
3
4
5
-N不打開遠程shell,不跳到遠程主機
-f直接在本機執行命令,不用再打開新終端,即后臺執行
?192.168.25.106 目標主機C的IP
?23目標主機C上的服務端口,即telnet服務
?192.168.25.100跳板機B的IP(應確保跳板機上有ssh服務)

這里寫圖片描述

1
? ? 如圖第三個連接,是B的22端口(即B的ssh服務)連接到A的32926端口,即A和B的ssh連接已建立,即隧道已經搭好了,就等著發起telenet流量了,此時還沒有telenet連接。

這里寫圖片描述

1
本地的9527端口已處于監聽狀態

這里寫圖片描述

1
C上還沒有到23端口的連接,即還沒有到telenet服務的連接

這里寫圖片描述

這里寫圖片描述

1
2
3
4
? ?執行完ssh -L命令后,就在本機(即A)打開了一個隨機端口32926,用作ssh客戶端,并且建立起與ssh服務器(即B)的連接,并且打開本機(即A)的9527端口,讓其充當telenet服務器,去監聽本機的telnet請求
? ?執行完telenet 127.0.0.1 9527命令后,就在本機(即A)打開了隨機端口38528,充當telenet客戶端,由它發起telnet請求,本機的9527端口(即telnet服務端)監聽到請求后,就與本機的38528端口(即telenet客戶端)建立起telnet連接
? ?本機的9527端口(即telnet服務端)接收到telnet數據包后,就將其轉交給本機32926端口(ssh客戶端),由它對telnet數據包進行加密封裝,封裝成ssh包,并由由它轉發給ssh服務器(即B)的22端口
? ?圖中第一個連接是38528端口(即telenet客戶端)向9527端口(即telnet服務端)發起的連接,第三個連接是9527端口(即telnet服務端)向38528端口(即telenet客戶端)發起的連接,因為兩個端口位于同一臺主機,所以都在這里顯示了出來。

這里寫圖片描述

1
2
3
? ? ssh服務器(即B)收到ssh客戶端(即A)發來的ssh包后,將其解密解封裝,得到telnet數據包,然后在本機打開53580隨機端口用作telnet客戶端,并將telnet數據包轉發給telnet服務器(即C)的23端口
? ? 圖中第三條連接是ssh客戶端(即A,端口為32926)到B(即ssh服務器)的連接;
? ? 第一條是B(即telnet客戶端,端口為53580)到telnet服務器(即C,端口為23端口)的連接。

這里寫圖片描述

1
? ? 此時C上已建立起telnet連接,是由telnet客戶端(即B,端口為53580)發起的

這里寫圖片描述

1
? ?如圖可看出,A已經成功連上了C

這里寫圖片描述

1
? ?exit退出與遠程shell的連接

這里寫圖片描述

1
2
3
? ?退出后,A上telnet服務器(即本機的9527端口)與telenet客戶端(本機的38528端口)之間的telnet連接斷開,
? ?B(即telnet客戶端,端口為53580)到C(即telnet服務器,端口為23端口)的telnet連接斷開
? ?此時只剩下ssh客戶端(即A)與ssh服務器(即B)的ssh連接,即隧道仍存在,本機的9527端口仍處于監聽狀態

這里寫圖片描述

1
? ?用ps aux可看到后臺執行的ssh服務

這里寫圖片描述

1
? ?關閉ssh進程

這里寫圖片描述

1
? ?關了之后本機的9527端口也關了

這里寫圖片描述

1
? 此時A再次發起telenet連接已經連不上了

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 嘉鱼县| 方正县| 高安市| 蛟河市| 盐源县| 靖边县| 图木舒克市| 融水| 嘉义市| 民丰县| 达尔| 浠水县| 马鞍山市| 蒙城县| 宁南县| 太原市| 罗平县| 梁河县| 搜索| 牙克石市| 卓资县| 称多县| 蒲城县| 和硕县| 布拖县| 遂川县| 海盐县| 阿巴嘎旗| 勐海县| 九台市| 林周县| 绩溪县| 饶阳县| 铜陵市| 合作市| 迁西县| 喀喇沁旗| 澄江县| 陆川县| 紫金县| 化州市|