外網(wǎng)SSH連接內(nèi)網(wǎng)Windows上linux虛擬機(jī)

需求

外網(wǎng) SSH 連接學(xué)校內(nèi)網(wǎng)的 Windows 科研電腦上的 linux 虛擬機(jī)

思路

學(xué)校網(wǎng)絡(luò)之外的外網(wǎng)機(jī)器 SSH 遠(yuǎn)程連接 內(nèi)網(wǎng)電腦對(duì)應(yīng)的外網(wǎng) IP,內(nèi)網(wǎng)電腦接受到外網(wǎng) SSH 連接請(qǐng)求,再通過(guò)虛擬機(jī)的 NAT 模式(端口轉(zhuǎn)發(fā)模式),即宿主 PC 機(jī)轉(zhuǎn)發(fā)外網(wǎng) SSH 請(qǐng)求到虛擬機(jī)對(duì)應(yīng)的端口號(hào),間接的訪問(wèn)虛擬機(jī)的 Linux。

prerequisite

有了思路,我們需要做的準(zhǔn)備

  1. VMware 的網(wǎng)絡(luò)連接選擇 NAT 模式—>達(dá)到轉(zhuǎn)發(fā) SSH 請(qǐng)求到虛擬機(jī)的效果
  2. 虛擬機(jī)要有對(duì)應(yīng)的 SSH 服務(wù)—>sudo apt-get install openssh-server
  3. 使用nat123達(dá)到內(nèi)網(wǎng)穿透

知識(shí)補(bǔ)充

學(xué)校內(nèi)網(wǎng)的 ip 實(shí)際上網(wǎng)絡(luò)經(jīng)過(guò)了很多中間層的映射,而這個(gè)映射很復(fù)雜的,學(xué)校也不可能告訴我們,所以不可以或者很難直接用內(nèi)網(wǎng) IP 映射成外網(wǎng) IP,進(jìn)而提供 SSH 服務(wù)。

但是我們可以使用工具,如 nat123、神卓互聯(lián)、花生殼等,將學(xué)校內(nèi)網(wǎng) IP 直接映射成外網(wǎng) IP

let’s start

1 設(shè)置 VMware

  1. 虛擬網(wǎng)絡(luò)編輯器
image.png

虛擬網(wǎng)絡(luò)編輯器

在 VMnet8 類型換成 NAT 模式

在進(jìn)行 NAT 設(shè)置之前,需要查看虛擬機(jī)的 IP,使用ifconfig

aliceyu@aliceyu-virtual-machine:~$ ifconfig
ens33     Link encap:Ethernet  HWaddr 00:0c:29:14:cd:ad
          inet addr:192.168.11.128  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::f557:95a2:e8bf:5b89/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9979 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2844 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8368432 (8.3 MB)  TX bytes:201165 (201.1 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:789 errors:0 dropped:0 overruns:0 frame:0
          TX packets:789 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:63342 (63.3 KB)  TX bytes:63342 (63.3 KB)

可以看到inet addr:192.168.11.128,這個(gè) IP 其實(shí)是內(nèi)網(wǎng) IP

  1. 設(shè)置 NAT

    • 添加端口轉(zhuǎn)發(fā):
image.png
**屏幕快照 2019-06-26 下午 8.35.22**

- 設(shè)置端口轉(zhuǎn)發(fā)
image.png

到現(xiàn)在為止,Windows 宿主機(jī)已經(jīng)可以將請(qǐng)求通過(guò)虛擬機(jī)的 NAT 模式轉(zhuǎn)發(fā)到虛擬機(jī)了。

但是前提是虛擬機(jī)要支持 openssh-server。默認(rèn) linux 系統(tǒng)里是沒(méi)有的。

2 在虛擬機(jī)中下載 SSH 服務(wù)

1. 下載 openssh-server

打開(kāi) Ubuntu 的終端,輸入:

sudo apt-get install openssh-server

安裝完畢后 ssh 默認(rèn)已啟動(dòng)。可以使用下述命令查看是否有進(jìn)程在 22 端口上監(jiān)聽(tīng),即是否已啟動(dòng):

netstat -nat | grep 22

2. 允許 root 用戶遠(yuǎn)程登錄

  • 終端輸入命令 sudo vim /etc/ssh/sshd_config ,修改 ssh 服務(wù)配置文件

    sudo vim /etc/ssh/sshd_config
    
  • 找到 PermitRootLogin,將參數(shù)prohibit-password改為yes,原來(lái)是prohibit-password,如圖所示:

image.png
  • 設(shè)置完需 ssh 配置文件,我們需要要重啟 ssh 服務(wù),命令 service sshd restart 或者 /etc/initd.d/sshd restart

3. 測(cè)試

在 Windows 宿主機(jī)上下載 SecureCRT 軟件。

打開(kāi) SecureCRT 軟件,進(jìn)行配置:

image.png

ProtoCol 模式選為 SSH2,Port 為 22(前面 NAT 設(shè)置等虛擬機(jī)端口號(hào)),HostName 為192.168.124.23(那就是我們宿主 PC 機(jī)的 IP 地址),UserName 為我們 Ubuntu 的登錄賬戶。

[圖片上傳失敗...(image-409a79-1698149661629)]

屏幕快照 2019-06-26 下午 9.13.51

PassWord 為我們 Ubuntu 的登錄密碼

image.png

配置完成后,如果成功,會(huì)進(jìn)入虛擬機(jī)的界面

到現(xiàn)在為止,我們已經(jīng)完成了 Windows 宿主機(jī)通過(guò)虛擬機(jī) NAT 模式轉(zhuǎn)發(fā) SSH 請(qǐng)求到虛擬機(jī),并且虛擬機(jī)支持 openssh-server 操作。接下來(lái)就剩下最后一步:將 windows 宿主機(jī)的內(nèi)網(wǎng) IP(就是例子中的 192.168.124.23)映射到外網(wǎng)。

3 使用nat123達(dá)到內(nèi)網(wǎng)穿透

nat 相關(guān)操作

在宿主機(jī)上下載nat123 程序 ,使用自己的帳號(hào)登錄。如沒(méi)有帳號(hào),可以“注冊(cè)帳號(hào)”進(jìn)入網(wǎng)站進(jìn)行注冊(cè)。

image.png

主面板/端口映射列表/添加映射

image.png

設(shè)置映射信息。選擇非網(wǎng)站應(yīng)用映射類型。填寫(xiě)內(nèi)網(wǎng) LINUX 地址端口,和外網(wǎng)訪問(wèn)的域名。可以使用自己的域名,也可以使用免費(fèi)二級(jí)域名。外網(wǎng)端口在添加映射時(shí),會(huì)自動(dòng)分配一個(gè)可用端口,不用更改。將鼠標(biāo)放在輸入框有向?qū)崾尽?/p>

image.png

這是官網(wǎng)的教程:

image.png

添加映射后,可查看映射狀態(tài)。將鼠標(biāo)放在映射圖標(biāo)上有提示當(dāng)著狀態(tài)信息。新添加映射一般幾分鐘內(nèi)生效。

image.png

4 進(jìn)行 SSH 連接

用處在外網(wǎng)的電腦連接

命令行輸入:

ssh aliceyu@160b2b1e.nat123.cc -p 13604

解釋:

aliceyu:虛擬機(jī)用戶名
160b2b1e.nat123.cc:nat123隨機(jī)分配的域名
-p 13604:指定的服務(wù)端口號(hào),也是nat123分配的

其實(shí)還有一種連接方式:

  1. ping域名得到外網(wǎng) IP
    AliceYudeMacBook-Pro:~ alice$ ping 160b2b1e.nat123.cc
    PING 160b2b1e.nat123.cc (139.199.62.115): 56 data bytes
    64 bytes from 139.199.62.115: icmp_seq=0 ttl=229 time=42.318 ms
    64 bytes from 139.199.62.115: icmp_seq=1 ttl=229 time=40.618 ms
    64 bytes from 139.199.62.115: icmp_seq=2 ttl=229 time=39.732 ms
    64 bytes from 139.199.62.115: icmp_seq=3 ttl=229 time=46.012 ms
    64 bytes from 139.199.62.115: icmp_seq=4 ttl=229 time=56.567 ms
    64 bytes from 139.199.62.115: icmp_seq=5 ttl=229 time=43.138 ms
    64 bytes from 139.199.62.115: icmp_seq=6 ttl=229 time=56.581 ms
    64 bytes from 139.199.62.115: icmp_seq=7 ttl=229 time=39.161 ms
    64 bytes from 139.199.62.115: icmp_seq=8 ttl=229 time=50.325 ms
    64 bytes from 139.199.62.115: icmp_seq=9 ttl=229 time=37.974 ms
    64 bytes from 139.199.62.115: icmp_seq=10 ttl=229 time=38.712 ms
    64 bytes from 139.199.62.115: icmp_seq=11 ttl=229 time=50.818 ms
    64 bytes from 139.199.62.115: icmp_seq=12 ttl=229 time=39.310 ms

上述:PING 160b2b1e.nat123.cc (139.199.62.115): 56 data bytes,139.199.62.115 就是域名對(duì)應(yīng)的外網(wǎng) IP。

  1. ssh 連接ssh aliceyu@139.199.62.115 -p 13604
    AliceYudeMacBook-Pro:~ alice$ ssh aliceyu@139.199.62.115 -p 13604
    aliceyu@139.199.62.115's password:
    Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-51-generic x86_64)

    - Documentation: https://help.ubuntu.com
    - Management: https://landscape.canonical.com
    - Support: https://ubuntu.com/advantage

    148 個(gè)可升級(jí)軟件包。
    0 個(gè)安全更新。

    New release '18.04.2 LTS' available.
    Run 'do-release-upgrade' to upgrade to it.

    **_ 需要重啟系統(tǒng) _**

    Last login: Wed Jun 26 21:35:04 2019 from 192.168.124.23
    aliceyu@aliceyu-virtual-machine:~$ ls
    core Downloads Files ncbi Templates
    Desktop examples.desktop igv Public vmware-root
    aliceyu@aliceyu-virtual-machine:~$

其它內(nèi)網(wǎng)穿透工具

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容