Windows上安装VirtualBox运行Ubuntu Server及SSH登录

        自己有一台装有Windows 10的Desktop,本来想直接安装一个独立Ubuntu Server作为第二启动系统来运行一些projects,但是有时候还要用到Windows上面的东西,不想来回互换。由于对Linux的青睐,加上自己差不多一年前指导过别人在Windows上安装VirtualBox并安装Ubuntu 18.04 Desktop,于是决定在Windows上运行Ubuntu Server。当然,重要的是设置ssh登录,包括在本地host machine上,以及外网的其他机器上来ssh连接。

系统说明:

-    Windows 10 Desktop (host machine)

-     Ubuntu Server 20.04 LTS (Focal Fossa): 64-bit PC(AMD64) Server

-     用于测试SSH connection的其他machine,这里用的是一台Macbook。

1. 安装 VirtualBox

      这个安装没有太多特别的,这里我选的是VirtualBox 6.1.16, 可以在其网站上下载:https://www.virtualbox.org/wiki/Downloads

      由于我的host machine是Windows 10, 这里选Windows hosts的安装文件。

      下载安装后,可以考虑也安装VM VirtualBox Extension, 6.1.16 Oracle VM VirtualBox Extension PackAll supported platforms,  这个在上面的网站上也可以下载。

2. 下载Ubuntu server

      这里我选的是Ubuntu Server 20.04 LTS, 可以从其网站上下载:https://releases.ubuntu.com/20.04/

     注意选择的是64-bit PC (AMD64) server install image。

3. VirtualBox上安装Ubuntu server

     3.1.运行VirtualBox,点击New, 创建Virtual Machine

这里Name可以随意,如果包含Ubuntu, Type和Version一般会自动识别。如没有,可以手动填写。如下图:

3.2. 接下来就是配置Memery SizeHard Disk。

可根据自己的需求来设置,比较直接。附上一些截图:

3.3.machine做些设置。

创建完成后,在VM VirtualBox Manager窗口的左侧就可以看到这个machine了。目前,系统并没有安装。打开Settings,由于选择的是镜像文件安装, 在System->Motherboard->Boot Order那,选择Optical, 并确保它在第一位。如下图:

然后到Storage->Controller: IDE: 那选这镜像光盘,这里一开始是Empty,选中后在Attributes 点击光盘符号然后选中下载到Ubuntu server镜像文件,之后会看到信息在Information那里显示。

这里同时也可以对Network->Adapter 1/2做些设置。这里我们选择两个,一个Adapter Attached to: NAT, 另一个Adapter Attached to: Host-only Adapter。之所以选择两个,是因为我们想ssh方便的连接。如下图:

   这里有一些插曲,如果发现不能点击OK,提示关于“Hardware Virtualization”的设置没有正确。这在使用VirtualBox时是比较常见的,解决也非常容易,基本上就是重启host machine,进入bios,找到system configuration并enable这里的Virtualization。具体如果操作,各种PC也是大同小异,这里不作说明。

3.4. machine的设置完成之后,我们就可以运行安装了。

        这里有另外一个插曲,如果遇到错误提示“failed to open a session for the virtual machine”,需要在windows 10以管理员运行CMD命令行,并执行命令“bcdedit /set hypervisorlaunchtype off”。这个也是一个常见的问题,比较容易解决。之后重新启动运行安装就可以。

        运行安装后,会出现一些常见的窗口,比如,选中语言,输入方式等,这些都可以通过上下键和Enter来选择。这里为了节省时间,建议安装中不先更新,记得暗转OpenSSH Server,其他的可以按照默认的。记住自己的用户名和密码。这里附上一些图片:

        安装完成后,会reboot,这里为了节省时间,在未更新完也可以选“Cancel update and reboot”.这里要说明一下,需要回到Settings->System->Mortherboard->Boot Order, 选中Hard Dist并把它放在第一位,Optical可以不选。这样reboot后就进入新装的系统,不然,又进入安装界面。

4. 设置SSH连接 

     运行新安装的Ubuntu server,用户名和密码登录。这样我们就完成了系统部分安装。接下来设置SSH连接。

     4.1.建议安装net-tools, ifupdown,方便查询ip和设置network

        sudo apt install net-tools; sudo apt install ifupdown.

     4.2. ufw进行防火墙设置

        查看状态:sudo ufw status;  运行: sudo ufw enable; 运行ssh: sudo ufw allow ssh; 类似可以allow http,https; 再次查看状态,就可以看到相关的信息及对应的Port。 

     4.3.  编辑/etc/ssh/ssd_config

        找到# Port 22,取消注释,即# Port 22 —> Port 22。22为默认的Port,也可以自己设置。这里选择默认的。

     4.4. 运行ip addr 或者ifconfig来查看ip地址

        这里会注意到enp0s8,enp0s3, lo的信息。由于考虑外网的ssh,在开始的时候设置了Adapter 1 attached to NAT。 这里记下相关的ip,比如: enp0s8: inet 192.168.68.108。

     4.5.设置Port Forwarding

        现在回到Setting->Network->Adapter 1->Advanced-> Port Forwarding,来设置Virtual machine的Port Forwarding。之所以设置Port,就是保证在通信中转中,确保不会迷失。这里的Guest Port,对应的是Ubuntu server,要跟4.3.中的port一致。如下图。这里的Host Port对应的是Windows 10。如果后面设置外网ssh连接,这里要对应相应的router的Port forwarding设置,这个后面会提到。如果只是本地的ssh,比如,在windows 10上,ssh 到 ubuntu server,这里的port forwarding可以不需要,因为默认的是Guest Port就是22。在window 10,打开cmd窗口,运行ssh <username>@<ip address>就可以。比如,ssh [email protected]。根据提示,输入密码就可以登录。

  4.6. 现在考虑如何通过其他的PC,来ssh连接到Ubuntu server

        这里用macbook来测试的。需要对router设置Port forwarding。这里说明一下,对于一个router,它可以提供相应的ip给家用或者办公室用的各个设备。这些IP 都是局内的,不能在外网直接访问。router本身有IP address,用于被外网识别。如果想通过ssh连接到ubuntu server,这里需要对router做port forwarding。其大概概念如下:

        PC (outside) —>Router Port—> Windows 10 Port —> Ubuntu server Port

        Router Port Forwarding设置,根据不同路由器各有不同,基本原则是一致的。比如,Router IP为1.2.3.4, 设置port为2023,windows 10 IP为5.6.7.8,设置Port为2025,ubuntu server Port为22。这里要确保设置router 时的Port 2025,对应于在ubuntu server设置的Host Port 2025一致。一旦设置成功,便可以在macbook上打开terminal,连接到ubuntu server。运行 ssh -p <port> <username>@<IP>, 比如:ssh -p 2023 [email protected]。测试成功后,也可以运行scp来传输文件,比如:scp -P 2023[email protected]:/home/test/test.txt .

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章