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

image

看到active (running)就是正常的。

二、Win10宿主机设置Virtualbox虚拟网卡

关闭archlinux虚拟机
然后Virtualbox在设置-网络里添加一块Host Only(仅主机)网卡
image
image

在工具的Network Manager里可以看到这块网卡,设置DHCP为disabled(禁用dhcp,因为我们要设置静态地址)
image
image
image

三、archlinux配置静态ip

开启archlinux虚拟机,使用如下命令查看网卡信息

ip addr

image

可以看到新增了一块网卡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

image

应用网卡配置

sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd

查看systemd-networkd服务启动状态:

sudo systemctl status systemd-networkd

image

ip addr查看enp0s8的状态:

ip addr

image

可以看到在配置文件里设置的静态ip已经生效

四、在Win10宿主机测试静态ip是否能连通

然后我们从主机尝试看能不能ping通这个ip:192.168.56.100
在Win10主机系统上打开cmd或powershell

ping 192.168.56.100

image

可以ping通,

五、使用SSH客户端软件(例如Putty)连接虚拟机里的archlinux

然后我们就可以打开putty,从Win10宿主机通过ssh登录Virtaulbox里的虚拟机操作啦。
image

posted @ 2022-12-15 10:32  Adosa(无嗔)  阅读(610)  评论(0编辑  收藏  举报
levels of contents