Xshell、Xftp基于SSH协议连接Linux虚拟机完整实操指南

📅 2026/7/1 6:28:40
Xshell、Xftp基于SSH协议连接Linux虚拟机完整实操指南
平时我们在本地电脑学习Linux系统时大多会借助VMware、VirtualBox这类虚拟机软件运行Linux但虚拟机自带的终端窗口操作起来十分受限字体小、复制粘贴不方便文件互传也很麻烦Xshell和配套的Xftp就是解决这类痛点的工具二者全部依托SSH协议完成和虚拟机的通信接下来我会完整梳理从底层协议原理到实操、排错、文件传输的全部流程。首先我们先搞清楚SSH连接协议到底是什么早期远程连接服务器或者虚拟机大多使用Telnet协议这个协议最大的缺陷是所有传输的数据包括账号、密码、执行的命令全部以明文形式在网络中传输一旦网络被监听所有隐私信息都会直接泄露安全隐患极大而SSH全称安全外壳协议就是为了解决明文传输的安全问题诞生的它属于应用层协议默认工作在22端口在数据传输前会通过非对称加密完成身份校验后续传输的所有指令、文件、账号密码都会经过对称加密处理就算数据被拦截第三方也无法破解内容同时SSH协议本身集成了两种常用工作模式一种是交互式命令行连接也就是Xshell实现的远程终端操作另一种是SFTP文件传输通道正好对应Xftp的文件上传下载功能一套协议就能同时满足远程操作和文件互传两大需求这也是现在运维、学习环境都统一使用SSH工具的核心原因。想要用Xshell连接虚拟机整套操作需要本地电脑和虚拟机两端配合完成第一步要先获取Linux虚拟机的网络地址打开虚拟机终端输入ip addr命令查看网卡信息找到ens33这类网卡对应的inet后面的IP地址这就是虚拟机的局域网IP这里要注意虚拟机的网络适配器必须设置为NAT模式或者桥接模式如果是仅主机模式很容易出现网络不通的情况确认IP后还要在虚拟机内部检测SSH服务是否正常运行输入systemctl status sshd查看服务状态要是显示inactive未启动就执行systemctl start sshd临时开启再输入systemctl enable sshd设置开机自启同时Linux自带防火墙可能会拦截22端口新手可以暂时关闭防火墙测试执行systemctl stop firewalld也可以选择永久放行22端口避免后续连接被阻断全部前置准备完成后回到Windows本地打开Xshell软件点击左上角新建会话在弹出的窗口里名称可以自定义填写虚拟机标识主机一栏粘贴刚才查到的虚拟机IP地址端口号保持默认22不用修改协议选择SSH确认参数后点击确定双击新建好的会话发起连接首次连接会弹出主机密钥确认弹窗直接选择接受并保存之后输入Linux系统的用户名和登录密码验证通过就能进入远程命令行界面此时我们就可以在Xshell窗口中像本地终端一样输入Linux指令复制粘贴、调整字体大小、多开会话窗口等操作都比虚拟机自带终端便捷很多。实操过程里几乎每个人都会遇到各类连接报错我结合自己实操踩过的坑逐一梳理问题根源和对应的解决办法第一种最常见的报错是连接超时、无法建立TCP连接出现这个提示说明本地电脑和虚拟机之间网络不通先排查虚拟机网络模式是否为NAT/桥接其次在本地CMD窗口ping虚拟机IPping不通就代表局域网互通存在问题需要重启虚拟机网卡或者VMware虚拟网卡服务同时确认虚拟机IP没有因为重启发生变动很多新手会忽略虚拟机重启后IP改变继续使用旧地址连接自然失败第二种报错是拒绝连接、连接被关闭核心原因是虚拟机内sshd服务未启动或者22端口被防火墙拦截回到虚拟机终端重新启动ssh服务、放行防火墙端口即可少数情况是虚拟机SSH配置文件修改过端口需要在/etc/ssh/sshd_config文件中核对Port端口数值同步修改Xshell会话里的端口号第三种是账号密码验证失败明明输入正确密码却提示登录拒绝一方面检查用户名是否输错区分root管理员账号和普通用户账号另一方面部分Linux系统默认禁止root账号通过SSH远程登录需要修改sshd_config文件中将PermitRootLogin参数改为yes重启ssh服务后才能使用root登录还有一类少见报错是密钥不匹配弹窗大多是虚拟机重装、IP被其他设备占用导致主机密钥变更在Xshell弹窗里选择删除原有缓存密钥重新连接接受新密钥就能解决。完整连接成功后可以截取多张实操截图留存记录第一张是虚拟机内执行ip addr查询IP地址的终端截图能清晰看到网卡对应的inet地址第二张是查看sshd服务运行状态的命令执行截图展示active运行状态第三张是Xshell新建会话填写IP、SSH协议参数的配置界面截图第四张是输入账号密码成功登录后Xshell内执行ls、pwd等基础Linux命令的运行结果截图第五张是报错测试截图可以人为关闭虚拟机ssh服务模拟连接拒绝故障把报错弹窗完整截取方便后续对照排查问题所有截图做好标注能直观完整还原整套连接流程。完成Xshell远程命令连接后同系列工具Xftp可以借助SSH的SFTP通道实现本地和虚拟机之间的文件互传不需要额外开启新端口操作逻辑和Xshell高度统一打开Xftp软件新建会话协议选择SFTP主机依旧填写虚拟机局域网IP端口保持22登录账号密码和Xshell完全一致保存会话后双击连接左侧窗口是Windows本地电脑的文件目录右侧窗口是Linux虚拟机的文件目录想要上传文件直接把本地文件拖拽到右侧虚拟机文件夹下载文件则反向拖拽虚拟机内文件到本地目录传输大文件时可以看到实时传输速度和进度除此之外还能批量上传文件夹、修改虚拟机内文件权限、新建目录对比传统U盘、共享文件夹传输文件的方式Xftp依托SSH加密传输速度稳定且操作简单日常把本地写好的脚本、安装包上传到虚拟机调试或是把虚拟机里的日志、项目文件下载到本地查看都十分方便而且和Xshell共用一套SSH服务不用重复配置虚拟机网络和权限学习使用成本极低。整套流程走完就能完整掌握SSH协议的实际应用从底层加密原理到Xshell远程命令行连接虚拟机的完整操作步骤同时覆盖实操中高频出现的网络、服务、权限类报错的分析与修复手段搭配过程截图完整记录操作轨迹最后借助配套Xftp工具完成跨系统文件传输不管是初学Linux的学生还是日常需要操作云服务器、虚拟机的使用者这套基于SSH的工具组合都能大幅提升远程操作的效率同时全程加密的传输方式也能规避明文传输带来的数据泄露风险是学习Linux过程中必须熟练掌握的基础实操技能。