虚拟机安装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 | network: |
1 | 激活新配置的网卡 |
这样就可以从宿主机ping通虚拟机了,可以愉快的配置ssh。
6.安装ssh以及开启root用户ssh登录
1 | sudo apt install openssh-server |
输入root账户的用户名密码切换到root目录:
su修改sshd配置文件:
vi /etc/ssh/sshd_config找到下面相关配置:
1
PermitRootLogin prohibit-password
修改为
1
PermitRootLogin yes
重启sshd:
systemctl restart sshd尝试ssh登录即可
修改root登录密码
1
sudo passwd
7.配置远程ssh免密登录
假设要在A主机免密远程到B主机
- A服务上运行下面脚本在当前登录用户的~/.ssh文件夹下生成一对公秘钥
1 ssh-keygen -b 4096 -t rsa
将生成的公钥id_rsa.pub用scp传到B主机上
在B主机上的用户所在~/.ssh文件夹下确认有无authorized_keys文件夹,没有则创建。
1 touch ~/.ssh/authorized_keys
- 给B主机的.ssh文件夹和authorized_keys文件赋权
1
2 chmod 700 .ssh
chmod 600 authorized_keys
- 将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 | Waiting for the VM to power on… |
虚拟机已经后台运行了