工具及版本说明
- 宿主主机操作系统版本 macOS Monterey 12.6.3,CPU架构AMD64/X86_64
- 本文写作时,VirtualBox最新版本为7.0.6,Ubuntu LTS Destop最新版本为22.04
- 请在VirtualBox官网及Ubuntu官网分别下载相应版本软件并自行安装好Virtualbox
创建Ubuntu虚拟机
-
打开Virtualbox, 点击 Machine -> New...,一定要勾选
Skip Unattended Installation -
设置硬件资源,4G内存+2CPU
-
设置虚拟硬盘,按需分配50G
-
结束设置,最终效果.
-
右击刚刚创建出来的虚拟机,点击
Settings....选中Display选项卡,按需调整Scale Factor -
选中Audio选项,卡关闭声音.
-
选中Network选项卡,关闭网络加速安装过程.
-
点击OK完成Settings设置,再右击刚刚创建出来的虚拟机,点击
Start->Normal Start. -
选择第一个
Try or Install Ubuntu -
选择你喜欢的安装提示语言,点击
Try Ubuntu或者试用 Ubuntu. -
调整显示器分辨率,点击
活动 -> 设置 -> 显示器,选择分辨率并点击应用 -
回到桌面,双击
安装Ubuntu 22.04 LTS -
选择安装提示语言,与之前相同.
-
选择键盘布局,默认
English(US)即可 -
选择最小安装
-
选择
清除整个磁盘并安装 Ubuntu点击现在安装,在弹窗内点击继续. -
设置时区,点击
继续. -
设置用户,点击
继续. -
等待安装完成,点击
现在重启.稍等一会儿,按照提示敲击回车即可.
至此完成了Ubuntu虚拟机的安装,先关闭虚拟机,然后开始对虚拟机进行配置.
配置虚拟机
配置网络
如果希望虚拟机既可以访问互联网又可以与主机互通,那么需要在虚拟机上配置两个网络适配器.
- NAT —— 虚机可以访问外网
- Host-Only Network 与主机互通
创建网络适配器
-
点击
File -> Tools -> Network Manager -
选中
Host-only Networks选项卡并点击Create保持默认即可. -
选中
NAT Networks选项卡并点击Create保持默认即可.
关联网络适配器
- 右击虚拟机,点击
Settings...选中Network选项卡 - 选中
Adapter 1,勾选Enable Network Adapter,配置Attached to为NAT(virtualbox默认提供的,想用之前创建的NAT需要选NAT Network) - 选中
Adapter 2,勾选Enable Network Adapter,配置Attached to为Host-only Network,Name为HostNetwork - 点击Ok结束配置
配置Ubuntu
关闭系统更新
-
设置改进计划、隐私等,仅第一次登录.
-
点击
活动,找到软件和更新.在更新选项卡中作如下设置.点击关闭(报错也没关系)
配置软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 全局替换为阿里源
sudo sed -i 's#http://cn.archive.ubuntu.com#https://mirrors.aliyun.com#g' /etc/apt/sources.list
sudo apt update
安装必备软件
sudo apt update
sudo apt install -y openssh-server openssh-client git vim curl jq net-tools
配置静态IP
当前虚拟要有两个网络适配器——NAT(访问外网)和Host-only(访问主机)
- 修改配置文件
cd /etc/netplan/
sudo vim 00-installer-config.yaml
修改00-installer-config.yaml内容为如下内容:
network:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses: [192.168.56.2/24]
version: 2
注意,根据之前虚拟机关联两个网络适配器的顺序可知,这里enp0s3与NAT网络适配器对应,enp0s8与Host-only网络适配器对应.也可以通过ip addr查看对应关系.Host-only网络适配器的网关是192.168.56.1虚拟机需要与其在同一网段所以用192.168.56.2/24
- 重新启动、查看修改
sudo netplan apply
ip addr
允许以root身份SSH免密登录虚拟机
- Ubuntu 22.04 LTS默认禁用root用户,需要手配置root密码.故开启终端并输入
# 正确输入登录用户的登录密码后即可设置root用户的密码.
sudo passwd root
- 配置SSH访问权限
vim /etc/ssh/sshd_config
找到 #PermitRootLogin prohibit-password修改为 PermitRootLogin yes
- 重启SSh服务
systemctl restart ssh
- 在主机中生成密钥
cd ~/.ssh
# 指定文件名
ssh-keygen -t ed25519 -f ubuntu_vm_ed25519
# 仅自己可用
chmod 600 ~/.ssh/ubuntu_vm_ed25519*
- 上传公钥到虚拟机
# ssh-copy-id -i filename user@ip/host
ssh-copy-id -i ubuntu_vm_ed25519.pub root@192.168.56.2
# 启动SSH代理
eval 'ssh-agent'
# 将密钥添加到代理
ssh-add ubuntu_vm_ed25519
- 登录验证即可
创建虚拟机快照
安装配置一次虚拟机费时费力,所以留下快照方便创建多台虚拟机.
-
点击虚拟机后面的图标,选中
Snapshots -
点击
Take,输入Name及Description