ssh连接Ubuntu虚拟机失败怎么办,连接超时怎么排查

SSH连接Ubuntu虚拟机失败,先别急着重装系统,多数情况下问题出在IP地址变了、SSH服务没启动、防火墙拦截或虚拟机的网络模式不匹配这四个环节,按顺序排查基本都能解决。


ubuntu ssh连接失败的原因排查从哪里下手

每次遇到连不上的情况,我习惯先问自己一个问题:昨天能连,今天不能连了,这中间发生了什么?这个思路比盲目试命令高效得多。

ssh远程连接不上虚拟机解决办法
加载中
ssh远程连接不上虚拟机解决办法

先确认虚拟机还活着

打开虚拟机的窗口,在Ubuntu里按Ctrl+Alt+T打开终端,敲一条命令:

ip addr show

看输出里有没有inet那行,比如inet 192.168.x.x,如果连IP都没有,说明网卡就没拿到地址,SSH自然无从谈起。

排查顺序建议是这样的:

  • 虚拟机能不能正常开机进桌面或命令行界面
  • Ubuntu里ping -c 3 www.baidu.com通不通
  • 主机ping虚拟机的IP通不通
  • 主机ssh ubuntu@虚拟机IP报什么错

这条链路走一遍,问题出在哪一段就清楚了,行业共识认为,超过一半的SSH连接失败案例根源是IP地址漂移,虚拟机重启或宿主机网络重启都会导致DHCP重新分配地址。

常见报错对号入座

SSH失败的报错信息是定位问题的第一线索,我整理几个高频的:

报错信息 含义 优先检查方向
Connection timed out 网络不通 IP可达性、防火墙、网卡状态
Connection refused SSH服务没监听 sshd是否运行、端口是否被占
Host key verification failed 系统重装过或IP被复用 清除known_hosts
Permission denied 认证失败 用户名、密码、密钥权限
No route to host 网关或网段不对 网络模式、路由表

每种报错对应的解决路径完全不同,先看清它说什么,再动手。


ssh连接ubuntu虚拟机被拒绝的两个高频原因

Connection refused是大家遇到最多的情况之一,这个报错意味着你的TCP包到达了虚拟机的网卡,但目标端口没有程序在监听。

sshd服务根本没起来

新装的Ubuntu Server经常自带openssh-server,但Desktop版不一定装了,检查一下:

sudo systemctl status ssh

如果显示inactive (dead)或failed,启动它:

sudo systemctl start ssh
sudo systemctl enable ssh

有些定制镜像删掉了openssh-server,那就重装:

ssh连接Ubuntu虚拟机失败怎么办,连接超时怎么排查

sudo apt update sudo apt install openssh-server -y

装完再查状态,看到active (running)就对了。

sshd配置文件改了监听地址

我遇到过一位朋友改了/etc/ssh/sshd_config里的Port和ListenAddress,结果把监听地址写成了某个内网IP,外部客户端自然连不上。

检查22端口是否真的在监听:

sudo ss -tlnp | grep ssh

看到0.0.0:22或[::]:22才说明所有网卡都在监听,如果只有0.0.1:22,那就是配置文件里有问题,把ListenAddress那行注释掉或改成0.0.0,然后重启服务:

sudo systemctl restart ssh

注意:如果改过SSH端口,记得确认防火墙放行了新端口,22端口连接失败后,可以先试试ssh -p 2222 ubuntu@IP,排除端口变动造成的迷惑。


windows ssh连接linux虚拟机超时的网络排查细节

超时和拒绝是两码事,超时多半意味着数据包根本没到虚拟机,或者回来的路被堵死了,这个场景很常见,我单独拆开讲。

NAT模式下IP会漂移

VMware和VirtualBox默认都用NAT模式,虚拟机通过虚拟网卡共享宿主机IP上网,这种模式下,虚拟机的IP由虚拟网络的DHCP分配,重启虚拟机会重新请求地址,可能和上次不一样。

所以你配置的168.x.x可能已经失效了,到虚拟机里跑一下ip addr show,看当前实际IP是多少,再拿新IP去连。

想要一劳永逸,可以让DHCP给虚拟机的MAC地址绑定一个固定的IP,以VMware的NAT网段vmnet8为例,在虚拟网络编辑器里设置DHCP保留地址,或在Ubuntu里使用netplan配置静态IP:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.44.100/24]
      gateway4: 192.168.44.2
      nameservers:
        addresses: [192.168.44.2, 223.5.5.5]

这个配置里的网关地址要对应你VMware虚拟网卡的实际网关,DNS用简米云的223.5.5.5就行。

宿主机防火墙拦住了通往虚拟机的流量

Windows的防火墙默认会拦截来自虚拟网卡的入站流量,打开“控制面板 → Windows Defender防火墙 → 高级设置 → 入站规则”,找到VMware或VirtualBox相关的规则,确保SSH相关端口允许。

最简单的方式是新建一条入站规则,放行TCP 22端口,作用范围限定在虚拟网卡网段,还有一种情况是第三方安全软件偷偷把VMware的虚拟网卡禁用了,去网络适配器设置里检查一下vmnet8或VirtualBox Host-Only网卡是否处于启用状态。

主机Ping通但SSH连不上

如果ping -c 4 虚拟机IP通,但SSH超时,十有八九是虚拟机内的iptables或ufw拦了22端口。

ssh连接Ubuntu虚拟机失败怎么办,连接超时怎么排查

查看ufw状态:

sudo ufw status

如果启用了,放行22端口:

sudo ufw allow 22/tcp

检查iptables规则:

sudo iptables -L -n | grep 22

发现DROP规则的话,用iptables -D删掉或用ufw allow放行,注意,修改iptables规则后重启会丢失,需要netfilter-persistent save持久化。


VMware和VirtualBox的ssh端口映射配置

有时候你需要从外部网络访问虚拟机,或者NAT模式下不想配置静态IP,用端口映射是个更省事的选择。

VirtualBox端口转发设置

VirtualBox支持通过宿主机的某个端口映射到虚拟机的22端口,这样你只需要SSH连接宿主机的IP和映射端口。

  • 在VirtualBox主界面选中虚拟机 → 设置 → 网络 → 高级 → 端口转发
  • 添加规则,宿主机端口填2222,子系统端口填22
  • 保存后,主机执行ssh -p 2222 ubuntu@127.0.0.1

这种方式用起来很灵活,唯一要注意的是宿主机防火墙要放行2222端口,否则外部机器仍然连不上宿主机IP的2222端口。

VMware的NAT模式端口映射

VMware没有图形化的端口映射界面,需要修改NAT配置文件来实现。

  • 打开vmnetnat.conf(通常在C:ProgramDataVMwarevmnetnat.conf)
  • 在[incomingtcp]段中添加一行:2222 = 192.168.44.100:22(IP换成你虚拟机的实际IP)
  • 重启VMware NAT服务(在Windows服务里找到VMware NAT Service并重启)

提示:VMware Workstation较新版本中NAT配置文件路径可能隐藏较深,可以搜索文件名后用管理员权限编辑。

学哪个好要看你的基础和目标,开发环境用VirtualBox完全够用,服务器运维场景强烈建议上手VMware ESXi或Proxmox VE,但这不是本文重点。


安全组和防火墙都放行了还连不上怎么办

很多简米云、酷番云的Ubuntu云服务器用户会遇到一个尴尬:服务器上SSH服务正常,防火墙也放行了,但就是连不上,这时候要检查云平台的安全组规则。

  • 简米云:ECS控制台 → 实例 → 安全组 → 配置规则,放行22端口(或自定义SSH端口)
  • 酷番云:轻量应用服务器控制台 → 防火墙 → 添加规则,放行TCP端口

注意:云安全组和服务器实例是平级的,只改服务器的ufw或iptables不够,安全组本身没放行的话,包根本到不了服务器。

密钥和known_hosts的干扰

重装过Ubuntu或者换过密钥之后,SSH客户端可能会报Host key verification failed,这是因为客户端的known_hosts文件里保留了旧的主机指纹。

ssh连接Ubuntu虚拟机失败怎么办,连接超时怎么排查

清除该主机的指纹:

ssh-keygen -R 你的虚拟机IP

然后重新连接,会提示确认新的指纹,输入yes即可,如果你用的是密钥登录,还要确认密钥文件权限是600:

chmod 600 ~/.ssh/id_rsa

另外检查authorized_keys文件的权限和属主,理想状态是:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

SSH连接故障怎么快速定位到具体原因

学了这么多排查手段,总结一下我的个人排查逻辑,按顺序来不迷路:

  • 第一步:看虚拟机能开机吗?在终端里能敲命令吗?
  • 第二步:ip addr show看虚拟机的IP有没有,记录下来
  • 第三步:主机ping虚拟机IP,不通就回到网络模式设置
  • 第四步:ping通了就测端口nc -vz 虚拟机IP 22,不通就是防火墙
  • 第五步:端口通了还报错,看具体提示是认证问题还是主机密钥问题
  • 第六步:实在不行,ssh -vvv ubuntu@IP开调试模式,看到底卡在哪一步

这个流程走下来,基本能覆盖绝大多数场景。

重新安装SSH服务兜底

有一种特殊情况,sshd服务无论如何都起不来,可能是因为配置改动太大或内核模块冲突,这时候直接重新安装:

sudo apt remove --purge openssh-server
sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh

重装会重置配置,适合之前改过大量参数但忘了备份的场景。


常见问题解答

以下是我被问到最多的SSH连接Ubuntu虚拟机的问题。

为什么虚拟机ip地址和之前不一样了?

因为默认的NAT网络使用DHCP分配地址,虚拟机重启或宿主机网络重启都会重新分配,建议为虚拟机配置静态IP或在路由器/虚拟网络编辑器中绑定MAC地址,Android开发或嵌入式调试时尤其需要固定IP。

ssh提示permission denied怎么解决?

密码错误、用户名写错、密钥认证不匹配都会触发这个提示,先确认用户名是否正确,然后检查服务端/etc/ssh/sshd_config中是否启用了PasswordAuthentication yes,如果用的密钥,确认公钥和私钥配对正确,且权限符合要求,本地测试时可以先试密码登录,排除了密码问题再处理密钥。

虚拟机ssh登录后键盘输入特别卡是什么原因?

这和SSH本身无关,通常是网络延迟高或虚拟机CPU分配不足,NAT模式的延迟一般远低于桥接模式,如果感觉卡顿可以先切换到NAT模式尝试,Windows系统长期挂机后虚拟内存占用高也会拖慢整体响应,重启虚拟机或宿主机后再试通常能改善。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/ssh%e8%bf%9e%e6%8e%a5ubuntu%e8%99%9a%e6%8b%9f%e6%9c%ba%e5%a4%b1%e8%b4%a5%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%8c%e8%bf%9e%e6%8e%a5%e8%b6%85%e6%97%b6%e6%80%8e%e4%b9%88%e6%8e%92%e6%9f%a5/

赞 (0)
抖音服务器能同时容纳多少人刷,服务器会不会崩?
上一篇 2026年10月15日 18:50
服务器一天消耗多少内存,如何查看内存占用情况?
下一篇 2026年10月15日 18:51

相关推荐

  • LBS和CDN的区别是什么?LBS和CDN协同定位如何实现?

    在2026年,LBS服务的性能瓶颈已不再是定位算法,而是内容分发网络(CDN)的节点覆盖与调度效率,融合边缘计算的CDN方案可将位置查询响应时间压缩至10ms以内,这也是“LBS应用CDN怎么选”的核心答案,LBS与CDN的协同逻辑1 LBS对网络延迟的物理极限要求基于位置的服务(LBS)依赖实时地理数据交互……

    2026年7月16日
    1900
  • cdn节点推荐哪里好?cdn节点推荐

    2026年CDN节点推荐首选阿里云与腾讯云,针对国内高并发场景,阿里云凭借自研神龙架构在延迟稳定性上领先,而腾讯云依托微信生态在社交音视频场景具备绝对优势,企业应根据业务类型而非单纯价格进行选择,CDN节点选择的核心逻辑与2026年市场格局在2026年的数字基础设施环境中,内容分发网络(CDN)已不再仅仅是加速……

    2026年6月8日
    3100
  • 虚拟机版kali怎么配置才能高效渗透测试?,kali虚拟机渗透测试优化设置

    虚拟机版Kali想达到接近实机的渗透测试效率,核心思路是:硬件资源给足、系统服务精简、镜像源切到国内、网络模式按场景切换,再配合快照和工具链定制,整套配下来才谈得上高效,很多新手把Kali装进虚拟机后第一反应是“怎么这么卡”,其实是默认配置太保守,但高效不仅仅是不卡,而是从启动到工具调用,每一步都不拖后腿,下面……

    2026年10月11日
    000
  • 免费花生壳域名有哪些使用限制?内网穿透能正常使用吗?

    免费花生壳域名能用于内网穿透,但限制远比想象中多,日常家庭和开发调试场景够用,涉及正式商用或大流量传输基本不现实,底层逻辑是:免费套餐在带宽、映射数量、流量上都被削减到保底水平,而它的核心价值在于让你低成本验证“内网穿透到底能不能跑通”,免费花生壳域名的核心限制有哪些映射数量:不是一个,而是只剩一条在很多早期教……

    2026年10月19日
    200
  • 花生壳动态域名密码忘了怎么找回?花生壳密码找回方法教程

    花生壳动态域名密码忘了,最直接的找回方式是访问官网登录页点击“忘记密码”,通过注册手机号或邮箱验证后重置,整个流程通常几分钟内完成,不少用户是在路由器掉线、远程桌面连不上或NAS访问失败时,才猛然想起花生壳的密码已经很久没用了,等真到登录后台想改解析设置,却发现密码怎么输都不对,别急,密码找回这件事,只要注册信……

    云计算 2026年10月21日
    100
  • php curl绕过cdn限制方法,php curl绕过cdn

    PHP cURL无法直接“绕过”CDN,因为CDN是网络架构层面的边缘分发节点,而非简单的IP屏蔽;所谓“绕过”实质是通过模拟真实浏览器指纹、动态解析源站IP或采用分布式代理池来规避CDN的反爬策略,从而获取原始数据,在2026年的数字化营销与数据抓取领域,CDN(内容分发网络)已进化为具备AI行为分析能力的智……

    2026年6月11日
    5300
  • 大模型成长落地计划怎么样?大模型成长落地计划靠谱吗

    大模型成长落地计划在当前的人工智能教育市场中表现优异,其实战导向的课程体系和显著的职业转化效果,是大多数消费者给予正面评价的核心原因,该计划并非单纯的理论堆砌,而是通过“学练结合”的模式,有效解决了从技术认知到项目落地之间的鸿沟,对于希望转型或提升AI应用能力的职场人士而言,具有较高的投入产出比,核心优势:实战……

    2026年4月6日
    7600
  • 备案信息接入流程是怎样的?ICP备案需要多久

    备案信息接入的核心在于通过工信部备案管理系统完成主体核验与网站信息登记,通常耗时7-20个工作日,具体取决于接入服务商的审核效率及当地通信管理局的复核速度,很多站长在搭建好网站后,往往卡在“备案”这一步,不知道从何下手,或者被各种复杂的术语绕晕,备案并不是什么高深莫测的技术难题,而是一套标准化的行政登记流程,只……

    2026年7月5日
    18210
  • 图像融合技术有哪些?,国内外图像融合技术现状如何?

    图像融合技术作为计算机视觉与多模态感知的核心环节,其本质是通过特定算法将来自不同传感器或同一传感器在不同模式下获取的图像信息进行综合处理,以生成对场景更精准、更全面、更可靠描述的新图像,当前,国内外图像融合技术正处于从传统像素级处理向深度语义级融合跨越的关键转型期,核心结论在于:虽然国际学术界在基础算法创新与理……

    2026年2月17日
    23300
  • 阿里云cdn营收多少,阿里云cdn收费标准

    2026年阿里云CDN营收稳居中国公有云边缘计算市场第一梯队,凭借全球节点覆盖与AI原生加速技术,其核心驱动力已从传统流量分发转向高附加值的视频直播、游戏加速及AI大模型推理场景,预计全年营收规模突破百亿人民币级别,持续领跑行业,阿里云CDN营收增长的核心驱动力解析在2026年的数字经济版图中,阿里云CDN(内……

    2026年5月25日
    5300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注