欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux ssh端口轉(zhuǎn)發(fā)的三種方式

 更新時間:2019年10月17日 09:15:41   作者:tlanyan  
這篇文章主要介紹了linux ssh端口轉(zhuǎn)發(fā)的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

ssh是我使用最頻繁的兩個命令行工具之一(另一個則必須是vim)。有了ssh,我可以遠程處理各種可能出現(xiàn)的問題而無需肉身到現(xiàn)場。

這幾天teamviewer被黑的事情影響挺大,于是由遠程控制想到了內(nèi)網(wǎng)穿透,自然而然的想到了ssh的端口轉(zhuǎn)發(fā)也能實現(xiàn)內(nèi)網(wǎng)穿透。再細想一下,發(fā)現(xiàn)ssh隧道、或者說端口轉(zhuǎn)發(fā),竟然實現(xiàn)了正向代理、反向代理和內(nèi)網(wǎng)穿透三種常用的網(wǎng)絡(luò)功能,更佩服其功能的強大和使用中的便利。

ssh有三種端口轉(zhuǎn)發(fā)模式,本文一一對其做簡要介紹。

本地轉(zhuǎn)發(fā)

本地端口轉(zhuǎn)發(fā)(Local Port Forwarding),是將本地主機某個端口流量轉(zhuǎn)發(fā)到遠程主機的指定端口。其命令行語法是:-L [bind_address]:localport:[remote_host]:remote_port?!?L”即“l(fā)ocal”的首字母,類似的遠程轉(zhuǎn)發(fā)的”-R”是“remote”的首字母,動態(tài)轉(zhuǎn)發(fā)的“-D”是“dynamic”的首字母,很好記。

舉一個例子說明本地轉(zhuǎn)發(fā)的使用場景。

CentOS 7安裝GUI界面及遠程連接一文中介紹了安裝vnc服務(wù)并開啟端口訪問。在實際中,暴露出來的59xx端口每天都會源源不斷的受到自動化腳本的爆破攻擊。如果你的vnc和登錄用戶使用弱密碼或字典密碼,主機安全將受到極大威脅。這種情形下該如何防護?

一種簡單安全的防護方法是:使用iptables/firewalld關(guān)閉端口的外網(wǎng)訪問,有連接需求時用ssh隧道轉(zhuǎn)發(fā)端口:

ssh -L5901:5901 username@host

該命令中將本地的5901端口通過ssh隧道轉(zhuǎn)發(fā)到遠程主機的5901端口,遠程連接時輸入localhost或者127.0.0.1和5901端口便連到了遠程主機的5901端口。通過iptables和ssh的本地轉(zhuǎn)發(fā),實現(xiàn)了他人無法連接,只有自己才能訪問的目的。

需要注意的是“-L”選項中的“遠程主機”并不特指連接過去的機器(默認是連接上的機器),可以是任何一主機。例如可以將本機的8080端口流量轉(zhuǎn)發(fā)到facebook.com的80端口:

ssh -L8080:facebook.com:80 username@host

遠程轉(zhuǎn)發(fā)

遠程端口轉(zhuǎn)發(fā)(Remote Port Forwarding),是將遠程主機某個端口轉(zhuǎn)發(fā)到遠程主機的指定端口。其命令行語法是:-R [bind_address]:port:[local_host]:local_port。

遠程轉(zhuǎn)發(fā)最常用的功能是內(nèi)網(wǎng)穿透。有一個公網(wǎng)ip的主機,便可以借助ssh隧道的遠程轉(zhuǎn)發(fā)實現(xiàn)內(nèi)網(wǎng)滲透,達到外網(wǎng)訪問內(nèi)網(wǎng)資源的目的。需要注意的是ssh遠程轉(zhuǎn)發(fā)默認只能綁定遠程主機的本地地址,即127.0.0.1。如果想要監(jiān)聽來自其他主機的連接,需要修改遠程主機ssh的配置,將”GatewayPorts”改成“yes”,重啟ssh后生效。

一個將遠程的8080端口流量轉(zhuǎn)發(fā)到本地80web端口的示例:

ssh -R0.0.0.0:8080:80 username@host

通過遠程轉(zhuǎn)發(fā),訪問公網(wǎng)ip主機的8080端口便是訪問內(nèi)網(wǎng)web主機的80端口,這樣就實現(xiàn)了內(nèi)網(wǎng)穿透。

動態(tài)轉(zhuǎn)發(fā)

無論本地轉(zhuǎn)發(fā)還是遠程轉(zhuǎn)發(fā),都需要指定本地和遠程主機的端口。動態(tài)轉(zhuǎn)發(fā)(Dynamic Port Forwarding)則擺脫這種限制,只綁定本地端口,遠程主機和端口由發(fā)起的請求決定。動態(tài)轉(zhuǎn)發(fā)的語法是:”-D bind_address:port”,一個轉(zhuǎn)發(fā)示例:

ssh -D 8080 username@host

該命令讓ssh監(jiān)聽本地8080端口,經(jīng)過8080端口的流量都通過ssh隧道由遠程服務(wù)器代為請求,從而達到獲取被屏蔽資源、隱藏真實身份的目的。

動態(tài)轉(zhuǎn)發(fā)實際上實現(xiàn)了正向代理功能,因此可以用來科學上網(wǎng)。本地轉(zhuǎn)發(fā)也可以做正向代理,但要對每一個請求的主機和端口做轉(zhuǎn)發(fā),比較繁瑣,實踐中不會這么用。

其它

  1. 從用戶端角度看,本地轉(zhuǎn)發(fā)是正向代理;從資源提供方角度看,本地轉(zhuǎn)發(fā)是反向代理;
  2. ssh連接斷開遠程轉(zhuǎn)發(fā)/內(nèi)網(wǎng)滲透便失效。如果希望遠程轉(zhuǎn)發(fā)一直有效,需要ssh?;罴夹g(shù),建議用frp等專注于內(nèi)網(wǎng)滲透的解決方案;
  3. 雖然ssh隧道中的流量都經(jīng)過了加密,但防火墻對ssh隧道中承載的流量能比較智能的識別,因此用作科學上網(wǎng)很容易受到干擾;
  4. 如果僅做端口轉(zhuǎn)發(fā),實踐中上述命令經(jīng)常與”-NT -f”選項結(jié)合使用。其中”-f”選項將命令放入后臺執(zhí)行,斷開連接需要用kill命令;
  5. 從代理角度看,ssh隧道是低效的,建議用專用軟件;
  6. ssh隧道的流量都經(jīng)過了加密,從安全角度是十分可靠的。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Linux Socket編程(不限Linux)

    詳解Linux Socket編程(不限Linux)

    本篇文章主要介紹了Linux Socket編程,網(wǎng)絡(luò)之間的通信全靠Socket,詳細的介紹了Socket,有興趣的同學可以了解一下。
    2016-12-12
  • Apache本地二級域名配置方法

    Apache本地二級域名配置方法

    這篇文章主要介紹了Apache本地二級域名配置方法,涉及hosts文件設(shè)置與Apache配置文件設(shè)置等相關(guān)技巧,需要的朋友可以參考下
    2016-05-05
  • linux服務(wù)中開啟防火墻的兩種方式

    linux服務(wù)中開啟防火墻的兩種方式

    這篇文章主要介紹了linux服務(wù)中開啟防火墻的兩種方式,給大家補充介紹了linux防火墻基本知識,需要的朋友可以參考下
    2018-12-12
  • Linux下修改文件權(quán)限(所有權(quán))

    Linux下修改文件權(quán)限(所有權(quán))

    Linux與Unix是多用戶操作系統(tǒng),所以文件的權(quán)限與所有權(quán)的實現(xiàn)就顯得很有必要,接下來通過本文給大家分享Linux下修改文件權(quán)限,感興趣的朋友一起看看吧
    2019-11-11
  • linux安裝jdk,tomcat 配置vsftp遠程連接的步驟

    linux安裝jdk,tomcat 配置vsftp遠程連接的步驟

    這篇文章主要介紹了linux安裝jdk,tomcat 配置vsftp遠程連接,需要的朋友可以參考下
    2015-04-04
  • 在Linux中如何查看可用的網(wǎng)絡(luò)接口詳解

    在Linux中如何查看可用的網(wǎng)絡(luò)接口詳解

    這篇文章主要給大家介紹了關(guān)于在Linux中如何查看可用的網(wǎng)絡(luò)接口的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Linux具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • SSH 登錄工具常用命令

    SSH 登錄工具常用命令

    既然申請了國外的主機,那么SSH登錄工具肯定是必不可少的,這里羅列一些常用的SSH命令,以備查用。
    2009-02-02
  • VSCode連接實驗室服務(wù)器Xshell,Xftp向服務(wù)器傳輸文件的方法(win10)

    VSCode連接實驗室服務(wù)器Xshell,Xftp向服務(wù)器傳輸文件的方法(win10)

    這篇文章主要介紹了VSCode連接實驗室服務(wù)器,Xshell,Xftp向服務(wù)器傳輸文件(win10),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • linux系統(tǒng)sudo命令詳解

    linux系統(tǒng)sudo命令詳解

    Sudo是Unix/Linux平臺上的一個非常有用的工具,它允許系統(tǒng)管理員分配給普通用戶一些合理的“權(quán)利”,讓他們執(zhí)行一些只有超級用戶或其他 特許用戶才能完成的任務(wù)
    2014-03-03
  • 使用stress命令進行Linux CPU壓力測試的實現(xiàn)方法

    使用stress命令進行Linux CPU壓力測試的實現(xiàn)方法

    在Linux系統(tǒng)中,有許多工具可以用來進行CPU壓力測試,其中一個非常常用的工具就是stress命令,stress命令是一個簡單而強大的壓力測試工具,可以模擬系統(tǒng)在高負載情況下的運行狀態(tài),幫助我們評估系統(tǒng)的穩(wěn)定性和性能,在本文中,我們將探討如何使用stress命令進行 CPU壓力測試
    2024-08-08

最新評論