1. 程式人生 > >建立SSH隧道以及遠端桌面轉發

建立SSH隧道以及遠端桌面轉發

ssh隧道功能,也就是埠轉發功能非常好用,可以實現一些代理功能或者是穿透內網功能。在許多的內外網通訊過程中都有著重要作用,尤其用於搭建大規模的資料中心管理平臺,可以降低對於防火牆的依賴和改動,增強系統整合度。

ssh的埠轉發(或者叫做隧道)命令分為三種:

本地:ssh -C -f -N -g -L listen_port:DST_Host:DST_port [email protected]_Host

遠端:ssh -C -f -N -g -R listen_port:DST_Host:DST_port [email protected]_Host

動態:ssh -C -f -N -g -D listen_port

[email protected]_Host

乍一看有點亂,仔細一分析就更蒙了-_-!

但是再深入的分析了搜尋出來的相關的說明和別人的一些分享之後,終於搞清楚了使用方法。下面詳細的看各個引數的用法。

-L port:host:hostport

將本地機(客戶機)的某個埠轉發到遠端指定機器的指定埠.

ssh -C -f -N -g -L listen_port:DST_Host:DST_port [email protected]_Host

以這個為例,在本地監聽一個埠listen_port,把listen_port的所有資料通過Tunnel_Host全部轉發到DST_Host:DST_port上去。

-R port:host:hostport

將遠端主機(伺服器)的某個埠轉發到本地端指定機器的指定埠.

ssh -C -f -N -g -R listen_port:DST_Host:DST_port [email protected]_Host

遠端埠轉發,在Tunnel_Host上面監聽一個埠 listen_port,把listen_port的所有資料通過Tunnel_Host全部轉發到DST_Host:DST_port上去。

DST_Host:DST_port是對於本機來說的,但卻是通過Tunnel_Host來訪問的,所以Tunnel_Host必須能訪問到DST_Host:DST_port,才能進行轉發。

舉個例子:我在家裡和公司各有一臺電腦,均沒有公網ip,不能互通,但是我有一個有公網ip的VPS,我的兩臺電腦都可以訪問vps,但是vps不能訪問我的兩臺電腦,然後通過公司電腦ssh到vps建立一條隧道,我在家裡就可以訪問公司裡的電腦了。說起來羅嗦的不得了,但是做起來很容易:

在公司的電腦上:ssh -C -f -N -g -R 8080:127.0.0.1:80 [email protected]的ip

然後在家裡直接訪問vps的8080埠,就相當與訪問了公司電腦的80埠了,over。

當然80埠只是web埠,我們可以轉發22或者3389埠,就可以遠端控制公司的電腦了。

-D port

指定一個本地機器 “動態的’’ 應用程式埠轉發. 這個動態的就簡單了,

ssh -N -f -D 8000 登入名@我的vps的ip

就相當與在本機上開了一個sock代理,埠是8000,給瀏覽器掛上127.0.0.1:8000的代理,查一下本機ip,發現已經變成vps的ip了。

我的上面用的vps是ubuntu系統,有的時候做了遠端埠轉發之後發現不能從外面訪問,需要修改一下vps上面ssh的一個配置,/etc/ssh/sshd_config,把這個改成yes,如果沒這句就加上:

GatewayPorts yes

然後重啟sshd。這個作用是把轉發的埠繫結在0.0.0.0的介面上,讓外部地址也可以訪問。

還要注意一點就是listen_port必須是沒有被使用的,不然會監聽失敗。

下面是幾個輔助引數,看著亂的話可以忽略,用的時候按需加上就好了。

-C Enable compression.
壓縮資料傳輸。

-f Fork into background after authentication.
後臺認證使用者/密碼,通常和-N連用,不用登入到遠端主機。

-N Do not execute a shell or command.
不執行指令碼或命令,通常與-f連用。

-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D引數中,允許遠端主機連線到建立的轉發的埠,如果不加這個引數,只允許本地主機建立連線。

-p port Connect to this port. Server must be on the same port.
被登入的ssd伺服器的sshd服務埠,省略就是預設的22埠。

同時兩種方式還可以同時使用,用於內網多個機器的跳轉和轉發,例如建立RDP遠端桌面連線。

Remote Desktop : 158.85.241.88(10.124.116.109的公網地址):45040 相當於訪問 10.113.65.190 上面的遠端桌面。

ssh -o StrictHostKeyChecking=no -i sshhub_id_rsa -N -fR 10.124.116.109:45040:10.113.82.141:3388 [email protected]

ssh -o StrictHostKeyChecking=no -i sshhub_id_rsa -NfL 10.113.82.141:3388:10.113.65.190:3389 [email protected]


相關推薦

建立SSH隧道以及遠端桌面轉發

ssh隧道功能,也就是埠轉發功能非常好用,可以實現一些代理功能或者是穿透內網功能。在許多的內外網通訊過程中都有著重要作用,尤其用於搭建大規模的資料中心管理平臺,可以降低對於防火牆的依賴和改動,增強系統整合度。 ssh的埠轉發(或者叫做隧道)命令分為三種: 本地:ssh

樹莓派3B 安裝系統(無需顯示器,針對raspbian-stretch版,包含SSH連線以及遠端桌面/無需VNC)

首先需要準備: 1:SDFormatter     2:Win32DiskImager 3:SD卡    注:大於8G 4:官方系統 raspbian-stretch.img  5:Putty 第一步: SD卡利用讀卡器連上電腦,用SDFormatter格式化SD卡,設定

Ubuntu遠端SSH及x11vnc遠端桌面連線

一、連線SSH 1. 開啟sshsudo apt update #更新源列表sudo apt-get install openssh-server #安裝ssh服務sudo ps -e |grep

Xshell建立SSH隧道連線

SSH(secure shell)是一種對資料進行加密安全傳輸的協議。利用ssh工具可以非常方便的登入遠端提供有ssh服務的主機,也可以很方便的進行檔案傳輸。利用 ssh tunnel 可以進行埠轉發(port forwarding), 它在ssh連線上建立一個加密的通道。建

通過xshell 建立ssh隧道連線資料庫

網路狀況                          一、本機xshell 建立隧道     1、先測試server1 上能Telnet通 server2的23400埠                    2、xhell 新建連線            

IPV4上建立IPV6隧道以及IPV6上建立IPV4隧道

實驗目錄: 1)在IPV4中穿越IPV6。 2)有IPV6中穿越IPV4。 實驗配置: 1)各介面IP配置如上,且在R5、R2、R3、R4的ipv6介面上都配置有ripng路由協議(注意關閉水平分割)。R2、R3都有指向公網的預設路由。 1.1、實驗拓撲: 1.2

win10建立Ubuntu18.04子系統,安裝常用軟體以及圖形介面(包括win10遠端桌面連線Ubuntu)

https://blog.csdn.net/li528405176/article/details/82263534 一、開啟win10子系統 [ Windows Subsystem for Linux(WSL)] 準備工作 設定——>更新和安全——>針對開發人員——>

利用阿里雲和frps做內網穿透,支援mstsc遠端桌面ssh,linux連線,所有的tcp 連線都可以轉發 整理by qiweb 2018 1107

準備工作和操作過程: 1、先要有一臺阿里雲或者其他vps 這裡假設外網唯一ip是: 另外要開放一個一個區間的埠號 比如1701 -1750 這些供客戶使用 47.98.195.221 frp官網 到官網下載需要的版本,我這裡都是linux版本 window也能用

win10建立Ubuntu16.04子系統,安裝常用軟體以及圖形介面(包括win10遠端桌面連線Ubuntu)

目錄 一、開啟win10子系統 [ Windows Subsystem for Linux(WSL)] 準備工作 設定——>更新和安全——>針對開發人員——>開發人員模式 控制面板——>程式——>程式和

SSH隧道遠端轉發配置方法

需求說明 A機器處於在層層NAT之下的內網;B機器擁有公網IP(稱為IpB),可以被任意機器直接訪問;A機器希望將本地埠PortA對映到B機器的埠PortB上,使得任何人訪問B機器PortB埠等效於訪問A機器的PortA埠。 配置方法 B機器配置 要求B

【安全牛學習筆記】SSH遠程端口轉發和動態端口轉發以及X協議轉發

security+ 信息安全 SSH遠程端口轉發 由於ACL等原因,SSH與應用連接建立方向相反 本地端口轉發 - SSH客戶端+應用客戶端位於FW一端 - SSH服務器+應用服

【安全牛學習筆記】SSH隧道SSH本地端口轉發

security+ 信息安全 SSH隧道 SSH支持雙向通信隧道 - 將其他TCP端口的通信通過SSH連接來轉發 - 用SSH作為傳輸層協議,對流量自動加解密

如何為虛擬機器中的Ubuntu17安裝SSH服務以及與XShell建立連線

本人在Ubuntu中安裝SSH時,在未獲取root許可權的情況下是不能安裝SSH,因此,本人通過以下步驟獲取得到root許可權,獲取步驟如下: 1.首先輸入: sudo passwd root 2.Enter new UNIX password:(在這裡輸入密碼) 3.retype

開啟遠端桌面連線windows的方法以及遇到的問題

確認電腦的遠端服務是否已經開啟 開始--執行--輸入“services.msc ”,開啟服務,找到三個remote desktop開頭的服務 Remote Desktop Configuration、 Remote Desktop Services、 Remote Desktop Services U

SSH隧道進行埠轉發

ssh -C -f -N -g -L 6378:目標IP:80 [email protected]目標IP 以ssh方式root使用者登入開啟目標IP,開啟自身6378埠,監聽目標IP伺服器的80埠,此時訪問該伺服器6378埠會被轉發至目標IP的80埠 TODO:各引數具

SSH隧道與埠轉發及內網穿透繫結本地埠

ssh是一種安全的傳輸協議,我一般使用就是在登陸伺服器或遠端執行命令,最近我意識到這是個強大的命令。 開講~ 本地ssh隧道 工作中由於防火牆導致訪問某些網站或某些ftp連線超時,有什麼解決辦法呢。ssh隧道就是一種解決方式。 首先你需要了解一些資訊: 你自己

通過ssh遠端轉發使外網能訪問到內網機器

家裡有兩臺樹莓派平時在外面想訪問下   首先啟用伺服器端GatewayPort來使遠端網絡卡可以繫結,設定連線保持 vim /etc/ssh/sshd_config #修改以下屬性 GatewayPorts yes ClientAliveInterval 60 Client

linux安全和加密篇(六)SSH隧道—動態埠轉發

SSH埠轉發 SSH 會自動加密和解密所有 SSH 客戶端與服務端之間的網路資料。但是, SSH還能夠將其他 TCP 埠的網路資料通過 SSH 連結來轉發,並且自動提供了相應的加密及解密服務。這一過程也被叫做“隧道”( tunneling),這是因為 SSH 為其他 T

使用JSch實現ssh隧道建立

前言: 本篇文章記錄我近期研究的問題:如何利用java實現堡壘機與內部機器建立隧道問題。 問題情景描述: 在生產環境中的叢集往往在一個區域網中,而該區域網只能通過某臺特定的堡壘機來訪問。 即:為了更加安全,所以線上的伺服器都無法直接訪問,它必須通過一臺堡壘機

centos7 通過kvm+vnc 實現遠端桌面虛擬化和建立windows、Linux虛擬機器

感謝朋友支援本部落格,歡迎共同探討交流,由於能力和時間有限,錯誤之處在所難免,歡迎指正! 如果轉載,請保留作者資訊。 部落格地址:http://blog.csdn.net/qq_21398167 原