从零开始学Linux(二)

发布时间:2026/7/1 16:12:56
从零开始学Linux(二) 最近在课程中接触到了远程连接虚拟机的技术我选择了Xshell作为实践工具。在这个过程中我不仅了解了其背后的SSH协议原理也亲手完成了从配置到连接再到文件传输的完整流程。虽然中间遇到了一些小问题但通过排查和搜索最终都顺利解决了。现在我把这个过程记录下来既作为自己的学习笔记也希望能帮到同样在学习这条路上的同学。首先想要理解Xshell是如何连接虚拟机的就绕不开SSH协议。SSH的全称是Secure Shell可以把它理解成一种为网络通信打造的“安全隧道”。在早期像Telnet这样的服务在传输数据时都是明文的这在复杂的网络环境中非常危险很容易被窃听或受到“中间人”攻击。SSH协议的出现就是为了解决这个问题它通过强大的加密技术对传输的数据进行加密从而保证了远程登录和操作的安全性。SSH协议框架主要包含三个部分传输层协议负责服务器认证和数据的机密性用户认证协议负责验证客户端身份而连接协议则将加密的隧道复用成多个逻辑通道用于执行会话、转发TCP/IP连接等。我们使用Xshell连接虚拟机本质上就是一个基于SSH协议进行安全身份验证然后建立起远程操作通道的过程。理解了基础概念之后我就开始着手进行Xshell连接虚拟机的实践。我的虚拟机网络模式设置的是NAT模式这能确保我的宿主机和虚拟机在同一个网段内通信。连接的第一步是获取虚拟机的IP地址我在虚拟机终端输入ip addr命令找到了ens33网卡下的IP地址比如192.168.xxx.xxx。接着很重要的一步是确认虚拟机上的SSH服务已经开启我使用sudo systemctl status sshd命令查看了服务状态确保它处于active (running)状态如果没有运行则用sudo systemctl start sshd将其启动。接下来就是配置Xshell了。打开Xshell软件点击“文件”菜单下的“新建”来创建一个会话。在弹出的窗口中我首先给会话起了一个便于识别的名字比如“我的CentOS虚拟机”然后在“主机”一栏填上刚才记下的虚拟机IP地址端口号保持SSH默认的22。配置好之后点击“确定”这个会话就保存下来了。回到Xshell主界面双击新建的会话就会开始连接。第一次连接时Xshell会弹出一个“SSH安全警告”对话框询问是否接受主机的密钥这其实是SSH协议在防止中间人攻击确认无误后点击“接受并保存”即可。随后会弹出用户身份验证窗口输入虚拟机的用户名和对应的密码点击确定如果一切顺利就能看到熟悉的命令行界面这就代表连接成功了。当然我的连接过程也不是一帆风顺的。第一次尝试时Xshell始终提示“Connection failed”。我首先检查了虚拟机IP发现虚拟机可以正常ping通外网但宿主机却ping不通虚拟机。经过一番搜索我发现问题很可能出在Windows的虚拟网卡配置上。打开“网络连接”找到“VMware Network Adapter VMnet8”发现它获取到的是一个169.254.x.x的IP地址。这个169.254.x.x是当DHCP服务失效时Windows自动分配的临时地址意味着VMware的DHCP服务没有正常工作。我的解决方法是通过服务管理器将“VMware DHCP Service”和“VMware NAT Service”这两个服务手动启动并将其启动类型改为“自动”。重启VMware的网络服务后VMnet8网卡成功获取到了与虚拟机同网段的IP地址宿主机也能ping通虚拟机了。此外我还看到有资料提到如果服务无法启动也可以直接给VMnet8网卡设置一个同网段的静态IP来解决。解决了连接问题后我又尝试使用Xftp进行文件传输。Xftp和Xshell同属一家公司可以很好地协同工作。在Xshell中当成功连接到虚拟机后我直接点击工具栏上的“新建文件传输”图标一个黄色的文件夹图标Xftp就会被自动唤起并直接连接到当前会话的虚拟机。它的界面分为左右两侧左侧是本地Windows文件系统右侧是远程虚拟机的文件系统。传输文件非常简单找到需要的文件直接从左侧窗口拖拽到右侧窗口或者在文件上右键选择“传输”就可以在本地和远程之间复制文件了。通过这次实践我不仅成功完成了使用Xshell远程连接虚拟机的作业更对整个流程背后的原理有了更具体的认识。从理解SSH协议的安全意义到亲自动手配置连接、排查网络问题再到使用Xftp进行便捷的文件管理这一系列操作让我对Linux系统管理和远程运维有了初步的体验也为后续的学习打下了一个不错的基础。