SSH端口轉發

?   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)

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

telnet服務的23端口已打開

這里寫圖片描述

先禁用一下C的防火墻

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

這里寫圖片描述

   執行完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客戶端)發起的連接,因為兩個端口位于同一臺主機,所以都在這里顯示了出來。

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

   exit退出與遠程shell的連接

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

   關閉ssh進程

這里寫圖片描述

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

這里寫圖片描述

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

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86872

(5)
以夢為馬以夢為馬
上一篇 2017-09-10 22:51
下一篇 2017-09-10 23:40

相關推薦

  • 馬哥教育網絡班22期+第一周課程練習

    一、計算機的基本組成和功能   cpu包括運算器、控制器、寄存器、緩存       運算器:計算功能,對數據進行加工處理的的部件;       控制器:負責從存儲器取出指令,控制cpu計算器之間的運行結果和狀態;       寄存器:暫存指令和數據的地方,存儲…

    Linux干貨 2016-08-15
  • Linux中Vim編輯器的使用

    Linux中Vim編輯器的使用 Vim功能介紹 vim是一款功能豐富而強大的文本編輯器,支持語法高亮,支持多窗口編輯,是vi文本編輯器的增強版。如果在CentOS7.2中如果是選擇最小化安裝,其默認是沒有安裝vim rpm包的,需要自行安裝,可以使用yum工具進行在線安裝。  vim至今已經走過了25個春秋,現在8.0版的已經發布了。  …

    Linux干貨 2016-12-02
  • 集群-ipvsadm和NAT實驗(3)

    糾正:報文進入內核空間后,當到達input鏈時發現是一個集群服務時,則直接發送到postrouting鏈,不經過forward鏈。 調度算法: 1、靜態方法: rr:輪詢,即依照次序從所有RS中進行挑選 wrr:加權輪詢,按照權重在RS中進行輪詢 sh:source hashing,源地址哈希,即對來自相同客戶端的請求發送至同一RS,這樣會破壞負載均衡效果?!?/p>

    Linux干貨 2015-12-15
  • shell腳本一鍵安裝二進制Apache

    安裝背景:用的一臺最小化安裝的centos6。 編譯安裝安裝的必備安裝gcc,gcc-c++ 安裝包arp,arp-util以及pcre的壓縮包已經傳到七牛,沒有通過官網下載。太慢。 apache是通過官網下載的,所以下載比較慢,需要的話更改下地址 不足,只按照正常流程寫,未做任何異常判斷處理 #/bin/bash #一鍵安裝Apache #安裝GCC ec…

    Linux干貨 2016-07-10
  • 腳本練習

    注:以下腳本練習實驗都是以root用戶身份執行的,若普通用戶運行需要另加相應的權限 1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 [root@fengl bin]# vim systeminfo.sh [roo…

    Linux干貨 2016-08-15
  • 計算機的組成及其功能

    計算機現如今已經成為了我們生活中不可缺少的一部分,那么它是由什么組成的呢?簡單來說,計算機系統是由硬件系統(hardware system)和 軟件系統(software system)兩部分組成。 Mac電腦背景圖.jpg 下面我們來羅列一下計算機系統的主要組成,請看下圖 計算機系統組成.png 計算機的功能 我們知道計算機十分強大,那么它都有哪…

    Linux干貨 2017-08-23

評論列表(1條)

  • h
    h 2017-09-13 11:18

    內容不錯,注意排版

欧美性久久久久