Virtualbox装Ubuntu18.04-Server(NAT+Host-Only)

虚拟机安装ubuntu及初始化配置记录

​ 由于需要虚拟机能访问外网,又能和宿主机互联,且我的本地环境用的是WiFi,而桥接模式每次获取的都是动态ip。所以这这里我采用NAT保证虚拟机能访问到外网,又使用Host-Only保证本地能ssh上我的虚拟机。

1.选镜像

虚拟机选Ubuntu18.04的server镜像

2.启动前配置好NAT网卡和Host-Only网卡

在虚拟机全局创建一个NAT网卡,在要启动的虚拟机上配置好网卡。

在全局网络创建一个手动配置的网卡,在虚拟机的网络处配置上类型为host-only的网络类型,选择这张配置的网卡。

3.启动虚拟机安装

ubuntu镜像源改成国内阿里的 https://mirrors.aliyun.com/ubuntu/

4.安装完成后检查是否能通外网

这个时候是可以ping通baidu和宿主ip的,但是宿主并不能ping通这台虚拟机

netroute -n 命令可以查看当前的网卡情况

ifconfig可以看哪个网卡用着

ifconfig -a可以看全部网卡

5.配置虚拟机内部的网卡

在路径/etc/netplan下新建一个yaml文件01-netcfg.yaml

1
2
3
4
5
6
7
8
9
10
network:
version: 2
renderer: networkd
ethernets:
enp0s8:
addresses: [192.168.57.101/24]
dhcp4: false
gateway4: 192.168.101.1 #这儿别人配置57的网段就可以,但是我配置了会导致走了这个网关而上不了网,所以只能配成宿主机的网关。
nameservers:
addresses: [192.168.101.1,8.8.8.8,114.114.114.114]
1
2
3
激活新配置的网卡
sudo netplan generate
sudo netplan apply

这样就可以从宿主机ping通虚拟机了,可以愉快的配置ssh。

6.安装ssh以及开启root用户ssh登录

1
2
sudo apt install openssh-server
sudo service ssh start
  1. 输入root账户的用户名密码切换到root目录: su

  2. 修改sshd配置文件: vi /etc/ssh/sshd_config

  3. 找到下面相关配置:

    1
    PermitRootLogin prohibit-password

    修改为

    1
    PermitRootLogin yes
    1. 重启sshd:systemctl restart sshd

    2. 尝试ssh登录即可

    3. 修改root登录密码

      1
      sudo passwd

7.配置远程ssh免密登录

假设要在A主机免密远程到B主机

  1. A服务上运行下面脚本在当前登录用户的~/.ssh文件夹下生成一对公秘钥
1
ssh-keygen -b 4096 -t rsa
  1. 将生成的公钥id_rsa.pub用scp传到B主机上

  2. 在B主机上的用户所在~/.ssh文件夹下确认有无authorized_keys文件夹,没有则创建。

1
touch ~/.ssh/authorized_keys
  1. 给B主机的.ssh文件夹和authorized_keys文件赋权
1
2
chmod 700 .ssh
chmod 600 authorized_keys
  1. 将A传过来的公钥id_rsa.pub追加到authorized_keys文件中
1
cat id_rsa.pub >> authorized_keys

以上,可以直接ssh user@ip 直接登录玩耍了!

8. 启动Headless模式(后台运行)

VirtualBox虚拟机有一种模式为headless模式,即无显示模式:

1
VBoxManage startvm <uuid>|<name> [--type gui|sdl|headless]

假设我们的虚拟机叫做nenew,我们像启动headless模式的虚拟机的化,我们可以执行下列命令:

1
vboxmanage startvm nenew --type headless

上面的这条命令可以运行headless模式的虚拟机。在运行完命令后虚拟机应该已经后台运行了,并出现下行提示:

1
2
Waiting for the VM to power on…
VM has been successfully started.

虚拟机已经后台运行了

评论加载中...