Win10宿主机ssh连接VirtualBox里的archlinux虚拟机
最近在学习docker及虚拟化相关知识,为了深入理解虚拟化,不得不补看操作系统的书(Operating Systems: Three Easy Pieces),需要用到单核linux虚拟机做实验,但是在虚拟机里运行一个桌面linux太耗资源,运行不带桌面的archlinux是比较好的选择(镜像体积小,节省流量哈哈)。 但是命令行版本无法使用virtaulbox的增强功能,即不能在宿主机和虚拟机之间复制粘贴,于是想起可以通过ssh访问虚拟机的方式来操作,即通过配置,使得Win10宿主机可以通过SSH连接Virtualbox虚拟机里的Archlinux。为了专心在操作系统上,精力不被分散,文中没有研究网卡和相关网络配置的具体原理,以后再补啦~
一、虚拟机archLinux安装并开启ssh服务端
虚拟机里的archlinux开启sshd服务端
sudo pacman -S openssh
sudo systemctl enable openssh
sudo systemctl start sshd
查看sshd服务状态是否正常:
sudo systemctl status sshd
看到active (running)
就是正常的。
二、Win10宿主机设置Virtualbox虚拟网卡
关闭archlinux虚拟机
然后Virtualbox在设置-网络里添加一块Host Only(仅主机)网卡
在工具的Network Manager里可以看到这块网卡,设置DHCP为disabled(禁用dhcp,因为我们要设置静态地址)
三、archlinux配置静态ip
开启archlinux虚拟机,使用如下命令查看网卡信息
ip addr
可以看到新增了一块网卡enp0s8,并且没有分配ip地址。
接下来我们对它分配静态ip
编辑/etc/systemd/network/20-wired.network
,添加如下内容
[Match]
Name=enp0s8
[Network]
Address=192.168.56.100/24
Gateway=192.168.56.1
DNS=223.5.5.5
应用网卡配置
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
查看systemd-networkd服务启动状态:
sudo systemctl status systemd-networkd
ip addr查看enp0s8的状态:
ip addr
可以看到在配置文件里设置的静态ip已经生效
四、在Win10宿主机测试静态ip是否能连通
然后我们从主机尝试看能不能ping通这个ip:192.168.56.100
在Win10主机系统上打开cmd或powershell
ping 192.168.56.100
可以ping通,
五、使用SSH客户端软件(例如Putty)连接虚拟机里的archlinux
然后我们就可以打开putty,从Win10宿主机通过ssh登录Virtaulbox里的虚拟机操作啦。