您的位置:首頁>正文

OpenSSH 高級運用兩則

00×0、相關介紹

OpenSSH(OpenBSD Secure Shell)使用 SSH 通過電腦網路加密通信的實現。

它是替換由 SSH Communications Security 所提供的商用版本的開放原始程式碼方案。 目前 OpenSSH 是 OpenBSD 的子專案。

大家都只知道 SSH 可以基於密碼或金鑰登錄遠端主機使用, 但是你知道嗎?其實 SSH 還可以在運用在公網伺服器連接私有IP虛擬機器, 還可以實現命令列 SSH 代理。

00×1、公網伺服器連接私有IP虛擬機器

試驗環境為兩台 CentOS 系統:

一台為公網伺服器 rabbit :45.xxx.xxx.212

一台為 VirtualBox NAT 模式下的 CentOS 虛擬機器 CentosA:10.0.2.15

NAT 普遍使用在有多台主機但只通過一個公有 IP 位址訪問網際網路的私有網路中, 它允許了多台主機共用一個公用 IP 位址(即虛擬機器的所有資料包最後都由網路中那台有公網 IP 位址主機轉發出互聯網)。

首先在 NAT 後面的虛擬機器內建立埠轉發, 通過如下命令:

ssh -gfN -R <公網映射埠>:127.0.0.1:<本地埠> <目標公網>

命令中“SSH”參數介紹:

-g:允許遠端主機連接到本地建立的轉發埠

-fN:不登錄不執行腳本或命令(經常連用)

-C:壓縮資料傳輸(小頻寬可用)

-R:程式級埠轉發 , “port:host:hostport”方法(必須使用)

在我們的例子中, 命令如下(處於安全的原因, 隱藏了遠端公網地址):

# ssh -gfN -R 1111:127.0.0.1:22 45.xxx.xxx.212

接著, 從公網伺服器 45.xxx.xxx.212 上連接 NAT 後面的虛擬機器, 輸入命令:

ssh -p 1111 localhost

以上從公網伺服器連接到虛擬機器私有 IP 實驗結束, 下面是運用 SSH 建立 Proxy 代理。

00×2、建立 SSH 代理

代理(Proxy), 也稱網路代理, 是一種特殊的網路服務, 允許一個網路終端(一般為用戶端)通過這個服務與另一個網路終端(一般為伺服器)進行非直接的連接。 一些閘道、路由器等網路設備具備網路代理功能。 一般認為代理服務有利於保障網路終端的隱私或安全, 防止攻擊。

圖解:左邊和右邊的電腦在通訊時候, 需要經過中間的電腦中轉, 而中間的那部電腦就是代理伺服器。

簡單的說就是 A 要訪問 C, 即便可以直接訪問 C, 但是有倆個問題:一個是安全的問題, 另外還有就是“過濾問題”。

於是我們有了“代理”就是讓我們 A 連接 B, 由 B 去訪問 C, B 最後“加密”傳送給用戶, 最後用戶就得到了想要的來自 C 的資訊。

伺服器端代理設置

本機輸入如下命令實現 SSH 代理:

ssh -nNT @ -D

參數介紹:

-n:後臺運行

-N:不執行遠端指令

-T:不分配 TTY , 只做代理用

-D:指定代理埠

上述命令的意思是, 在本地監聽埠 1111, 將訪問到該埠的流量轉發到遠端伺服器, 遠端伺服器的用戶憑證由命令列指定。

至此, SSH 代理設置已經完成了。 後面要用代理工具完成 SSH 代理。

用戶端配置

用戶端使用代理設置(本人這裡使用的是Chrome流覽器下的 SwitchyOmega 工具, 同類代理還可以用 Firefox 流覽器下的工具 AutoProxy):

這裡我們通過了代理設置, 我們的流覽器和“阿裡雲”伺服器連接完成~這樣我們就可以代理上網、加速上網。 甚至還可以科學上網!

00×3、總結心得

第一節希望讓大家靈活運用 SSH, SSH 的功能不僅僅只是簡單的遠端連接部署。 通過 SSH 設置, 可以讓任何一台機器通過 SSH 相連接的!第二篇的意義在於享受遠端任何一台機器同時,

還可以明白, 能完成互連的 SSH。 當然也可以完成代理~!

上述就是兩條 SSH 運用, 僅僅只是抛磚引玉。 更多好玩的, 需要我們自己去發現去總結去設置去享受, 也是希望大家不光有寬度更多的還要有“深度”。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示