b99d4c57448fa4645af326cef1393c38.png

通过前文《安装》篇,我们在 VirtualBox 中成功安装了一个 ArchLinux 系统。VirtualBox 的虚拟窗口用的是点阵字体,不支持鼠标,更不用说文本的选中与复制了。大家能坚持到现在的一定是真爱。今天,咱们就着手解决一下这个问题,从而让 linux 的学习更加轻松愉悦。

解决的方法也很简单,使用 SSH。SSH 是 Linux 下一种通过网络实现远程登录的协议,比较著名的实现就是OpenSSH。而 Windows 10 又自带 OpenSSh 客户端,我们可以通过 OpenSSH 连接虚拟机中的 Linux,从而绕开难用的虚拟机窗口。


首先,我们得配置一下虚拟机的网络。现在的 linux 基本上都使用 iproute2 管理网络,其对应的命令就是 ip。网上很多资料都还在用 ifconfig,不推荐了。

查看当前网卡配置可以使用 ip addr

6e33d91020ddc314d7ffa3ce97035406.png

这里有两块网卡,一块叫 lo,回环地址;另一块叫 enp0s3,就是虚拟机真正的网卡。网上有很多资料说 linux 的网卡都叫 eth0,eth1 之类的名字,这种已经过时了,来龙去脉可以参考这篇文章。

如果你的局域网有 DHCP 服务,那就简单了,直接启动 dhcp 客户端就可以了。ArchLinux 自带的 dhcp 客户端叫 dhcpcd,启动参数就是网卡名,效果如下:

cc58f70ae1b69395fea4fc9a0ed937e2.png

如果你的局域网没有 DHCP 服务,有点麻烦,你可以参考 ArchLinux 的文档或者给我留言。

我们再看一下网络配置

c5618b6cc3090abcec24c1210d42bd38.png

注意 inet 一栏,这是 ipv4 网络配置。这个时候你就可以在宿主机访问虚拟机了

➜ ~ ping -c 2 10.23.148.100
PING 10.23.148.100 (10.23.148.100): 56 data bytes
64 bytes from 10.23.148.100: icmp_seq=0 ttl=64 time=1.828 ms
64 bytes from 10.23.148.100: icmp_seq=1 ttl=64 time=0.477 ms

--- 10.23.148.100 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.477/1.153/1.828/0.675 ms

如果此时你重启虚机,你会发现网卡还是没有配置。为什么呢?因为 DHCP 客户端没有自动启动。你可以执行 systemctl enable dhcpcd@enp0s1将 dhcpcd 设为自动启动。这里的 systemctl 是 systemd 的控制命令。我们以后会专门讲解。此处大家先如法炮制就行了。

0bee5f935afd7799ddc8dc7238dee0eb.png

有了网络,后面就好办了。现在我们来安装 OpenSSH,执行pacman -S openssh就好

4b6f1ac6ca82b2a09d8c72b9f5dc665b.png

OpenSSH 默认不允许 root 使用密码登录,我们还得打开这个功能。需要执行echo "PermitRootLogin yes" > /etc/ssh/sshd_config

然后手工启动,执行 systemctl start sshd。start 表示启动服务。后面的 sshd 就是 ssh 服务的名字。为了让 ssh 服务自动启动,还需执行 stystemctl enable sshd

最后,我们需要给 root 设一个密码。OpenSSH 要求用户登录一定要有密码,执行passwd

9f3c9001d1bbe251d4d7bac9e0dbbb5c.png

因为 root 没有密码,所以直接输入新密码就可以了。


接下来,我们开启 windows 10 的 ssh 客户端,找到设置➜应用➜应用和功能➜可选功能➜添加功能➜点击安装 OpenSSH 客户端。

a55df954fc7f833f40935e90380d5d32.png

安装完了需要重启一下电脑。

然后下载一下 cmder 终端模拟器,这是一个绿色软件,解压即用。登录执行ssh root@your-ip。首次登录会提示服务器未识别,输入yes按回车,然后输入密码。

f29ff5c852314a128dfb142a051d75d8.png

在 cmder 中,你就可以复制粘贴了。不但如此,你还可以按 ctrl+u 清空当前所在行,按ctrl+l清空整个窗口。

一个好用的终端模拟器才是 linux 学习的开始。我们下期见。

Logo

更多推荐