SSH 隧道技術

2021-05-28 14:13:57 字數 3091 閱讀 2372

ssh 隧道

下面的命令告訴 ssh(1)

%

ssh -2 -n -f -l 5023:localhost:23 [email protected]

%

上述 ssh

命令使用了下面這些選項:

-2強制 ssh

使用第2版的協議 (如果需要和較老的 ssh 一同工作請不要使用這個選項)。

-n表示不使用命令列, 或者說只使用隧道。 如果省略, ssh

將同時初始化會話。

-f強制 ssh

在後台執行。

-l表示產生一條 本地埠:遠端主機:遠端埠

形式的隧道。

[email protected]遠端 ssh 伺服器。

ssh 隧道通過監聽 localhost

上面指定埠來完成工作。它將把本機主機/埠上接收到的連線通過 ssh 連線**到遠端主機/埠。

本例中, 位於 localhost

的 5023

埠 被用於** localhost

的連線到遠端主機的 23

埠。 由於 23

這可以用來封裝任意不安全的 tcp 協議, 例如 smtp、 pop3、 ftp等等。

使用 ssh 為 smtp 建立安全隧道

%

ssh -2 -n -f -l 5025:localhost:25 [email protected]

[email protected]'s password: *****

%telnet localhost 5025

trying 127.0.0.1...

connected to localhost.

escape character is '^]'.

220 mailserver.example.com esmtp

這可以與 ssh-keygen(1)

以及額外的使用者帳號配合來建立乙個更透明的 ssh 隧道環境。金鑰可以被用在需要輸入口令的地方, 而且可以為不同的使用者配置不同的隧道。

加強 pop3 服務的安全

工作時, 有乙個允許外來連線的 ssh 伺服器。 同乙個辦公網路中有乙個郵件伺服器提供 pop3 服務。 這個網路, 或從您家到辦公室的網路可能不, 或不完全可信。 基於這樣的原因,您需要以安全的方式來檢視郵件。 解決方法是建立乙個到辦公室 ssh 伺服器的連線,並通過這個連線來訪問 pop3 服務:

%

ssh -2 -n -f -l 2110:mail.example.com:110 [email protected]

[email protected]'s password: ******

當這個通道連上時, 您可以把 pop3 請求發到 localhost

埠 2110。 這個連線將通過通道安全地**到 mail.example.com

繞過嚴厲的防火牆

一些大腦長包的網路管理員會使用一些極端的防火牆策略, 不僅過濾進入的連線,而且也過濾連出的連線。 一些時候您可能只能連線遠端機器 22 埠,以及 80 埠用來進行 ssh 和網頁瀏覽。

解決方法是建立乙個到您的網路的防火牆之外的網路上的 ssh 伺服器,並通過它提供的通道連線到 ogg vorbis 伺服器上。

%

ssh -2 -n -f -l 8888:music.example.com:8000 [email protected]

[email protected]'s password: *******

現在您可以把客戶程式指定到 localhost

的 8888 埠,它將把請求**給 music.example.com

的 8000 埠,從而繞過防火牆。

通常限制哪些使用者能夠登入, 以及從何處登入會是好主意。 採用 allowusers

選項能夠方便地達到這一目的。 例如, 想要只允許 root

使用者從 192.168.1.32

登入, 就可以在 /etc/ssh/sshd_config

檔案中加入下述設定:

allowusers [email protected]
要允許使用者 admin

從任何地方登入, 則只需列出使用者名稱:

allowusers admin
可以在同一行指定多個使用者, 例如:

allowusers [email protected] admin
注意: 列出需要登入機器的使用者很重要; 否則他們將被鎖在外面。

在完成對 /etc/ssh/sshd_config

的修改之後您必須告訴 sshd(8)

#

/etc/rc.d/sshd reload

ssh隧道建立

問題 目標伺服器 a 在nat之後,中介伺服器 m 在公網上,客戶端 c 在nat後,需要從c發起ssh連線到a。解決辦法 1.從a發起ssh連線到m,繫結m的遠端埠,假設a和m的ssh服務都在22埠監聽。在a上執行 ssh nfr 19022 localhost 22 user host m ip...

SSH 反向隧道

這篇文章主要介紹了如何利用ssh 反向隧道穿透nat,並演示了如何維持一條穩定的ssh 隧道。假設有機器a 和b,a 有公網ip,b 位於nat 之後並無可用的埠 現在想由a 主動向b 發起ssh 連線。由於b 在nat 後端,無可用公網ip 埠這樣乙個組合,所以a 無法穿透nat,這篇文章應對的就...

ssh反向隧道

47.47.47.47新增安全組規則,本機安裝cygwin,安裝連線 安裝net下的autossh 和openssh即可 將本機秘鑰匯入47.47.47.47 在cygwin終端,執行 ssh keygen t rsa,一路enter,直到秘鑰生成 伺服器47.47.47.47上,新建使用者,密碼 ...