Xftp连不上虚拟机,多数情况不是工具本身的问题,而是虚拟机IP变了、SSH服务没启动、防火墙挡了22端口,或者虚拟机网络模式没配对,先按“IP通不通、端口开不开、账号对不对”的顺序排查,再进虚拟机用命令查IP,基本能解决。
先查虚拟机IP:VMware虚拟机IP地址怎么看、命令怎么用
很多新手一上来就反复重装Xftp,其实虚拟机IP没查到或查错了,后面全是白费功夫,不同系统的查看命令不一样,先确认虚拟机用的什么系统。
虚拟机IP地址怎么查看命令?CentOS和Ubuntu不同
CentOS 7/8 常用的命令:
ip addr show或简写ip aifconfig部分最小化安装没装net-tools,会提示命令不存在hostname -I直接输出IP,适合写脚本
CentOS 7 查看结果里通常找 ens33、ens160、eth0 这类网卡名。inet 后面的就是IPv4地址,168.183.130,看到 0.0.1 不算,那是回环地址。
Ubuntu 20.04/22.04 常用:
ip ahostname -Inmcli device show适合桌面版和Server版
Ubuntu 的网卡名可能是 ens33、enp0s3、eth0,同样认 inet 后面那串,Debian 系和 Ubuntu 命令基本通用。
如果虚拟机里命令输出只有回环地址没有其他IP,说明网卡没起来,Xftp自然连不上。
VMware虚拟机IP地址怎么看:先搞清网络模式
VMware、VirtualBox 的虚拟机能不能被宿主机用Xftp访问,取决于网络模式。
- NAT模式:宿主机可以访问虚拟机,虚拟机IP一般是
168.x.x或x.x.x,这是Xftp连接最常用的模式。 - 桥接模式:虚拟机直接拿局域网IP,和宿主机平级,公司网络可能要登记MAC地址才给IP。
- 仅主机模式:只有宿主机和虚拟机互通,虚拟机可能拿到
168.56.x之类的地址。
宿主机上可以先 ping 一下虚拟机IP,能通说明IP没问题;不通就回虚拟机检查IP和网卡。
Xftp连不上虚拟机怎么排查?按网络、端口、服务三层走
拿到虚拟机IP后,别只会在Xftp里填IP,还要看三层:网络通不通、端口开不开、服务在不在。
第一层:网络通不通
在宿主机执行:
ping 虚拟机IP
ping 不通:
- 检查虚拟机是否开机
- 检查虚拟机IP是否填错
- 检查VMware网络模式是否选对
- 检查宿主机防火墙是否拦截了VMnet8或桥接网卡
虚拟机内部执行:
ip a看有没有正常IPping 网关IP看虚拟机出网是否正常ping 宿主机IP看回程是否正常
NAT模式下,网关一般是 168.x.2 或 x.x.2,虚拟机如果ping不通网关,Xftp必然连不上。
第二层:22端口开不开
Xftp默认走SSH协议,连的是22端口,端口不畅,IP再对也没用。
宿主机可以测试端口:
telnet 虚拟机IP 22- 或
nc -zv 虚拟机IP 22
Windows 10/11 自带 telnet 但需要手动开启,用 PowerShell 的 Test-NetConnection 虚拟机IP -Port 22 更方便。
如果端口不通,进虚拟机查SSH服务:
- CentOS:
systemctl status sshd - Ubuntu:
systemctl status ssh
没启动就执行:
- CentOS:
systemctl start sshd && systemctl enable sshd - Ubuntu:
systemctl start ssh && systemctl enable ssh
第三层:登录账号和密码对不对
Xftp新建会话时,协议选 SFTP,端口默认22,用户名别填成Windows的Administrator,要填虚拟机系统里的真实账号。
- CentOS 常用
root或普通用户 - Ubuntu 默认禁止 root 远程登录,要用安装时创建的用户名
如果用户名密码都对还提示认证失败,检查SSH配置:
sudo vim /etc/ssh/sshd_config- 看
PasswordAuthentication是否为yes - 看
PermitRootLogin是否被改成no
改完执行:
- CentOS:
systemctl restart sshd - Ubuntu:
systemctl restart ssh
Xftp连接虚拟机失败原因:防火墙和22端口最常见
防火墙挡端口
多数Linux系统默认开启防火墙,22端口不一定放行。
CentOS 7/8 用 firewalld:
firewall-cmd --list-ports查看已放行端口firewall-cmd --add-port=22/tcp --permanent放行22端口firewall-cmd --reload重载生效
Ubuntu 用 ufw:
sudo ufw status查看状态sudo ufw allow 22/tcp放行22端口
如果公司内网有硬件防火墙或云安全组,也需要同步放行22端口,云服务器的安全组不放行22,宿主机再折腾也连不上。
网卡配置没生效
虚拟机克隆或迁移后,MAC地址变了,网卡名可能从 ens33 变成 ens34,但旧配置文件还指向不复存在的网卡。
CentOS 查看网卡配置文件:
ls /etc/sysconfig/network-scripts/- 看
ifcfg-ens33是否存在,ONBOOT是否为yes - 如果实际网卡是 ens34,把配置文件改名或新建
ifcfg-ens34
Ubuntu 查看 netplan:
ls /etc/netplan/- 看
00-installer-config.yaml里网卡名是否匹配 - 执行
sudo netplan apply应用配置
很多人Xftp连不上虚拟机,就是虚拟机重启后IP变了,而Xftp会话里还填旧IP,每次连不上先复查IP,比直接重装Xftp更有效。
Xftp连不上虚拟机但能ping通
能ping通但22端口不通,基本都是SSH服务没起或防火墙挡了,还有一种情况是SSH只监听127.0.0.1,执行:
ss -tlnp | grep 22
如果输出显示 0.0.1:22 而不是 0.0.0:22 或 22,说明SSH只监听本地回环地址,改 /etc/ssh/sshd_config 里的 ListenAddress 为 0.0.0 后重启sshd。
Xftp和FinalShell哪个好用?连不上时别急着换
不少人在Xftp连不上虚拟机时,马上去换FinalShell、WinSCP、MobaXterm,工具换来换去,问题还在,Xftp和FinalShell哪个好用,要看使用场景。
- Xftp:纯文件传输,界面简洁,传输队列清晰,配合Xshell用很顺,个人免费版够多数学习场景。
- FinalShell:自带终端和文件管理,界面偏重运维监控,单窗口同时敲命令传文件,但文件传输体验不如Xftp专注。
- WinSCP:免费开源,功能稳定,界面偏传统,支持脚本同步。
行业共识认为,文件传输和终端分离使用,连接更稳定,排障路径也更清晰。
xftp免费版和付费版区别会影响连接吗?
xftp免费版和付费版区别主要在会话数量、商业使用授权和部分高级功能,免费版允许个人和非商业用途,会话标签数有限制,连接不上虚拟机不涉及付费墙,用免费版一样能正常连22端口,别把授权问题当成连接故障去处理,更不用为了连虚拟机专门买付费版。
Xftp连不上虚拟机常见场景速查表
| 现象 | 可能原因 | 处理动作 |
|---|---|---|
| Xftp提示连接超时 | IP错了或虚拟机没开 | 进虚拟机 ip a 复查IP,确认开机 |
| 提示连接被拒绝 | SSH服务没启动 | systemctl start sshd 或 systemctl start ssh |
| 提示认证失败 | 密码错或禁止密码登录 | 确认用户名密码,检查 sshd_config |
| 能ping通但连不上 | 防火墙挡22端口 | firewall-cmd --add-port=22/tcp --permanent |
| 虚拟机重启后连不上 | DHCP重新分配IP | 查新IP,或在虚拟机设静态IP |
| Ubuntu连不上root | 默认禁止root远程登录 | 用普通用户,或修改SSH配置 |
排障顺序记牢,一次解决
Xftp连不上虚拟机,先别怀疑软件,进虚拟机用 ip a 查到真实IP,宿主机 ping 通,再 telnet 虚拟机IP 22 验端口,端口不通就查SSH服务和防火墙,账号密码错误就查SSH配置,把这条链路走完,绝大多数连接问题都能定位到具体环节,虚拟机IP怎么查、端口怎么验、服务怎么启,这些命令记住后,Xftp连不上虚拟机的排查时间能从半小时压缩到几分钟。
Q&A:xftp连虚拟机连不上怎么办?虚拟机IP怎么查?
Xftp提示“Connection failed”怎么办?
先确认虚拟机IP和端口,宿主机执行 ping 虚拟机IP,再执行 telnet 虚拟机IP 22,ping通但telnet不通,进虚拟机执行 systemctl status sshd 或 systemctl status ssh,再查 firewall-cmd --list-ports 或 sudo ufw status,大部分“Connection failed”来自22端口被防火墙拦截或SSH服务没运行。
虚拟机重启后Xftp连不上,是IP变了吗?
多数情况下是DHCP重新分配了IP,进虚拟机执行 ip a 或 hostname -I 查看当前IP,再和Xftp会话里填写的IP对比,如果IP确实变了,要么在Xftp里更新新IP,要么给虚拟机配置静态IP,避免每次重启后重复修改。
Xftp连不上虚拟机,但WinSCP能连上是什么原因?
协议和认证配置不同会造成一个能用另一个不能用,WinSCP可能使用SFTP或SCP协议,Xftp使用SFTP协议,如果Xftp里协议误选为FTP,而虚拟机只开22端口,就会连接失败,把Xftp会话协议改成SFTP,指定22端口,使用WinSCP能连通的同一套用户名密码,Xftp即可正常连接。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/640571.html





