完成工作機到家裡電腦上虛擬機器的連線(ssh)

2021-08-24 20:34:30 字數 1937 閱讀 7735

老習慣,先上鏈結

爛泥:學習ssh之ssh隧道應用 -- 這篇文章幫助我理解反向隧道

man ssh -- 在虛擬機器(或者伺服器)上檢視 ssh 命令列解釋

那麼我的網路結構如下圖所示

家裡的電腦是小寫 a, 辦公室的電腦是大寫 a,兩台電腦都在路由後面,ip都是192.168. 開頭,而且家裡的路由外端還不是外網ip,其網路結構我就沒有進行深入調查了。

那麼這種情況下如何用 a 的 securecrt 連線到 a 上的虛擬機器kivy呢?

我的實戰環境如下

a: win7 (辦公室)

a: win10 (家裡)

a.kivy: ubuntu17.04 (a上面的虛擬機器,後面直接引為 a.kivy )

解決思路:

1. 首先建立伺服器 s0 到 家裡電腦 a 的 ssh反向隧道。

2. 家裡電腦 a **埠到虛擬機器

3. 利用 b 通過伺服器連線回 a.kivy 虛擬機器

首先來看看反向通道是幹什麼的:

當 a 能夠正常連線到伺服器 s0 上時, a -> s0 這條路是直接可連的,但是 s0 -> a 中間隔著路由器的nat轉換,所以無法直接通過簡單的指定 ip:port 這種方式來連線的。ssh反向通道利用 a->s0 已經建立好的連線,打通 s0 -> a 的逆向通道(稱為反向隧道),使得任何能夠連線到伺服器 s0 的機器均可以連線到 a。

那麼文章開頭連線中提供了linux命令列方式和windows putty的連線,這裡我提供乙個 securecrt 的連線方式

如此,完成了伺服器到家裡電腦的反向隧道,連線狀況如下

如何確定反向隧道建立成功了呢? netstat / lsof 都可以,以 lsof 為例

查詢到 localhost:22555 埠正在監聽sshd即可

虛擬機器採用 virtualbox 配置,新增乙個埠對映即可

連線狀態如下

前面兩跳完成後,查閱 ssh 使用,可以直接完成連線

在b上用 git-bash 直接連線(使用 -j 指定伺服器 s0 的一跳,分別需要輸入伺服器密碼和虛擬機器密碼)

或者在用 securecrt 連線到伺服器 s0 的情況下,直接連線即可

搞定後,連線狀態如下,完成連線工作

virtualbox虛擬機器 虛擬機器的網路

今天要測試ip多宿主 ip multihoming 即host和guest的兩個網絡卡分別接,host ping guest的ipv6不通。解決過程如下 命令輸出 ip addr 1 lo mtu 65536 qdisc noqueue state unknown link loopback 00 ...

Nginx上配置虛擬機器

基於ip位址的虛擬主機配置,在一台主機上有多個ip的情況。不同的ip對應不同的 內容,客戶端可以通過ip訪問不同的網頁內容。ifconfig eth0 1 192.168.2.5 netmask 255.255.255.0 up ifconfig eth0 2 192.168.2.6 netmask...

Vmware虛擬機器 的工作模式

橋接模式 就是將主機網絡卡和虛擬機器虛擬的網絡卡利用虛擬網橋進行通訊在虛擬模式的作用下,類似於把物理主機虛擬為乙個交換機,所有橋接設定的虛擬機器連線到這個交換機的乙個埠上,物理主機也同樣插在這個交換機中。原理圖如下 補充 因為橋接在乙個網段,所以此時虛擬機器和主機之間可以相互通訊。原理描述 vm通過...