服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-22 简米科技 4,739 字 11 分钟阅读

虚拟机连接CRT失败怎么办?CRT端口网络怎么配置?

导读虚拟机连接CRT失败的根本原因集中在SSH服务异常、网络连通性故障以及CRT会话配置错误三个层面,多数情况下并不涉及复杂的深层问题,按顺序排查即可定位并解决,**如果你正在使用VMware或VirtualBox运行Linux虚拟机,而SecureCRT始终无法建立连接,请先确认这几项基础配置,再依次向下排查,虚……

虚拟机连接CRT失败的根本原因集中在SSH服务异常、网络连通性故障以及CRT会话配置错误三个层面,多数情况下并不涉及复杂的深层问题,按顺序排查即可定位并解决。如果你正在使用VMware或VirtualBox运行Linux虚拟机,而SecureCRT始终无法建立连接,请先确认这几项基础配置,再依次向下排查。

虚拟机连接CRT失败怎么办:先检查服务端状态

当VirtualBox或VMware环境中的虚拟机连接CRT失败时,首先要确认虚拟机本身的SSH服务是否已启动。多数教程默认系统自带OpenSSH,但部分精简版Linux镜像或最小化安装并不会自动开启该服务。

SSH服务的启动与验证

在虚拟机终端中执行以下命令,确认sshd的运行状态:

systemctl status sshd

如果看到active (running),说明服务正常,若显示inactive或dead,依次执行:

systemctl start sshd
systemctl enable sshd
  • 在CentOS 7及以上版本,服务名为sshd。
  • 在Ubuntu 20.04及以上版本,服务名为ssh,命令应为systemctl status ssh。
  • 若执行状态查询时报错Unit not found,需要先安装OpenSSH服务端:yum install -y openssh-server(CentOS)或apt install -y openssh-server(Ubuntu)。

监听端口与地址绑定

SSH默认监听22端口,但有些安全加固过的系统会修改默认端口或限制监听地址,执行以下命令核实:

netstat -tlnp | grep ssh

确保Local Address为0.0.0:22或::22,如果显示0.0.1:22,说明sshd只监听本地回环地址,外部连接必然失败,需修改/etc/ssh/sshd_config中的ListenAddress为0.0.0,然后重启服务,行业共识认为,这种配置问题在实际排障中占比较高,尤其常见于从模板克隆出的虚拟机镜像。

SecureCRT连接不上虚拟机?网络模式与IP地址是关键

服务端正常后,接下来排查网络层,虚拟机连接CRT失败怎么办的第二大常见原因,就是虚拟机的网络模式和IP地址配置不合逻辑。

VMware三种网络模式的实际适用场景

VMware Workstation提供三种网络模式,每种模式对应不同的通信范围:

  • 桥接模式(Bridged):虚拟机与宿主机处于同一局域网,拥有独立IP,宿主机能直接访问虚拟机,虚拟机也能访问局域网内其他机器。
  • NAT模式:虚拟机通过宿主机共享IP访问外网,宿主机与虚拟机之间通过虚拟网卡通信,默认情况下,宿主机可以主动连接虚拟机,但外部设备无法直接访问。
  • 仅主机模式(Host-Only):虚拟机只能与宿主机通信,无法访问外网,适用于隔离环境。

使用NAT模式时,一个极易被忽视的坑是VMware的虚拟网络编辑器设置。 点击VMware菜单栏“编辑”→“虚拟网络编辑器”,选中VMnet8(NAT模式的默认虚拟网络),查看底部的“NAT设置”,如果这里配置了端口转发,且宿主机22端口被其他程序占用,SSH连接请求就会发往错误的端口,导致CRT一直提示“Connection refused”。

网络模式 宿主机访问虚拟机 虚拟机访问外网 需手动配置IP
桥接 支持 支持 是
NAT 支持 支持 是
仅主机 仅VMnet1内 不支持 是

IP地址冲突与网段隔离

无论使用哪种模式,确认虚拟机IP与宿主机IP处于同一网段是基本前提。

  • 宿主机IP为168.1.10/24,桥接模式下的虚拟机IP必须是168.1.x,不能是0.0.x或16.x.x。
  • NAT模式下,虚拟机IP通常为168.x.x,但特定VMware Workstation版本的默认网段为192.168.136.0/24,具体以“虚拟网络编辑器”中显示的为准。

在虚拟机里执行ip addr查看当前IP,如果发现IP为169.254.x.x,说明DHCP获取失败,此时需要手动指定静态IP:

vi /etc/sysconfig/network-scripts/ifcfg-ens33  # CentOS/RHEL

如下(以NAT模式为例):

BOOTPROTO=static
IPADDR=192.168.136.50
NETMASK=255.255.255.0
GATEWAY=192.168.136.2
DNS1=8.8.8.8

Ubuntu 18.04+的系统则编辑/etc/netplan/01-netcfg.yaml,修改完成后,执行systemctl restart network(CentOS)或netplan apply(Ubuntu)重启网络。

宿主机端与CRT客户端的排查项

很多人会忽略一个事实:SecureCRT安装在宿主机上,宿主机的防火墙和CRT本身的会话设置也会导致连接失败。

宿主机防火墙拦截

Windows防火墙默认可能阻止来自VMware虚拟网卡的入站连接,排查方式很简单:

  • 临时关闭Windows防火墙测试连接(仅排查用,不推荐长期关闭)。
  • 或者进入“控制面板”→“Windows Defender防火墙”→“允许应用或功能通过Windows Defender防火墙”,找到SecureCRT,勾选“专用”和“公用”两个复选框。

对于Linux宿主机直接运行CRT的情况,执行:

firewall-cmd --list-all

若22端口不在ports列表中,则需放行:

firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload

虚拟机防火墙的常见拦截

Linux虚拟机如果启用了firewalld或ufw,默认不会放行SSH端口,以firewalld为例:

firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload

排除完防火墙,再确认虚拟机的SSH服务是否绑定了错误的网卡,如虚拟机有多块网卡(一块NAT、一块仅主机),SSH可能监听到非活跃网卡上,此时需要指定监听具体网卡IP。

SecureCRT会话配置细节

CRT会话设置中,一个低调但致命的错误是“防火墙”下拉菜单选错选项。 新建会话时,协议选择SSH2,端口填写真实端口(默认22),但很多老版本的CRT在“会话选项”→“连接”→“防火墙”处默认选择了None以外的其他配置,正确设置为None或无即可。

主机名处不要带任何协议前缀(如ssh://),直接填写IP地址或域名,有些用户在主机名后拼接了冒号端口(如168.1.10:22),这会导致DNS解析错误,让SecureCRT连接不上虚拟机。

网络连通性测试:区分故障层级的标准方法

当你无法确认问题出在哪一层时,按以下顺序做连通性测试,可以快速判定虚拟机端口不通或CRT无法解析主机名的具体原因。

第一步:宿主机到虚拟机的ICMP测试

在宿主机命令行执行:

ping 虚拟机IP
  • 若通则说明二层网络通畅。
  • 若不通,直接跳转到前面的虚拟网络编辑器配置检查。

第二步:宿主机到虚拟机的端口测试

使用Telnet测试SSH端口是否可达:

telnet 虚拟机IP 22
  • 出现Connected to字样,说明端口通,问题出在CRT会话配置。
  • 出现Connection refused,说明SSH服务未启动或防火墙拦截。
  • 提示超时,说明网络层的转发规则有误。

第三步:虚拟机自身的路由检查

在虚拟机中执行:

ip route show

如果默认路由缺失,虚拟机能上外网但宿主机找不到回包路径,同样会导致CRT连接超时,此时补充默认网关:

ip route add default via 虚拟网关IP

虚拟机连接CRT失败怎么办:冷门但高发的诱因

网络与端口排查完毕仍未解决时,以下几个场景值得特别留意。

VMware挂起了快照导致的网络异常

恢复快照后,虚拟机的网络服务可能因网卡MAC地址变动或iptables规则残留而失效,如果连接CRT失败且上述操作均无效,尝试重启虚拟机的网络服务:

systemctl restart network

或直接重启虚拟机,行业共识认为,虚拟化环境中的网卡热插拔配置差异会造成CRT连接不稳定,尤其在克隆虚拟机时未重新生成MAC地址的情况下。

VirtualBox的NAT模式未做端口转发

VirtualBox的NAT模式默认与VMware不同外部主机无法主动连接虚拟机,在VirtualBox中,必须显式配置端口转发规则:

  • 选中虚拟机 → “设置” → “网络” → “高级” → “端口转发”。
  • 添加规则:协议TCP,主机端口2222,子系统端口22。
  • 随后CRT连接时,主机名填0.0.1,端口填2222。

最新版本的VirtualBox也提供了“桥接模式”替代方案,但Windows宿主机在无线网络下桥接模式经常出现ARP不通的问题,此时NAT+端口转发更稳定。

CRT版本兼容性

SecureCRT 7.0以下的旧版本对OpenSSH 8.0以上的新密钥算法(如ssh-ed25519)支持不佳,会在密钥交换阶段直接断开连接,如果CRT提示“Key exchange failed”或“No compatible cipher”,优先升级CRT至8.x版本,或在虚拟机SSH服务端配置中启用兼容算法。

Q&A:SecureCRT连接不上虚拟机常见问题集中解答

Q1:VMware虚拟机连接CRT失败最常见的原因是什么?

A1:SSH服务未安装或未启动,其次为虚拟机的网络模式配置了但IP地址与宿主机不在同一可通信链路,以及防火墙拦截22端口。

Q2:VirtualBox虚拟机ssh连接不上,是否需要额外设置端口转发?

A2:NAT模式下必须设置端口转发规则,否则宿主机无法访问虚拟机SSH服务,桥接模式下则不需要做端口转发,但要保证虚拟机IP与宿主机IP能相互Ping通,并且公网出口不被路由策略阻断。

Q3:CRT报错“The server has disconnected with an error”怎么处理?

A3:优先查看服务端日志/var/log/secure(CentOS)或/var/log/auth.log(Ubuntu),一般在文件末尾能看到具体的断开原因,常见为密码认证失败次数过多导致IP被临时封禁,或ssh的MaxStartups参数与并发连接限制冲突,调整这些参数并重启sshd后重试即可。


修好这台虚拟机、重新打开SecureCRT,输入用户名和密码,回车看到命令行提示符的那一瞬间,说明端口、地址、防火墙、会话四层链路已经完全打通,下次遇到同类问题,按本文排查顺序从服务端到客户端逐项验证,先确认SSH活着,再看网络通不通,最后检查CRT自己有没有走错门路, 90%以上的连接失败都能在十分钟内解决。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱