You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动Code Ready Containers时遇SSH握手失败及virsh控制台错误

解决CRC启动SSH连接重置及virsh控制台PTY错误

问题现象

  • 启动Code Ready Containers(CRC)时出现错误:

    ssh: handshake failed: read tcp 127.0.0.1:41804->127.0.0.1:2222: read: connection reset by peer

  • 使用virsh控制台访问CRC实例时提示:

    internal error: character device serial0 is not using a PTY

环境信息

  • 主机操作系统:Fedora Linux 40(Server Edition)
  • CRC版本:2.43.0+268795,OpenShift 4.17.1,MicroShift 4.17.1
  • virsh版本:libvirt 10.1.0命令行工具,支持QEMU/KVM

解决步骤

1. 修复CRC虚拟机的Serial设备PTY配置

用virsh编辑CRC虚拟机的配置文件:

virsh edit crc

找到<serial>节点,确保配置为PTY类型,替换为以下内容:

<serial type='pty'>
  <target type='isa-serial' port='0'>
    <model name='isa-serial'/>
  </target>
</serial>

保存退出后,重启libvirtd服务:

sudo systemctl restart libvirtd

2. 重置CRC的SSH密钥与连接配置

先停止运行中的CRC实例:

crc stop

删除本地缓存的CRC SSH密钥:

rm -rf ~/.crc/machines/crc/id_rsa*

重新启动CRC并启用调试日志排查:

crc start --log-level debug

3. 检查端口占用与防火墙规则

验证2222端口是否被其他进程占用:

ss -tulpn | grep 2222

如果有占用,终止对应进程,或者修改CRC的SSH端口:

crc config set ssh-port <自定义端口号>

同时确保libvirt服务的防火墙规则已放行:

sudo firewall-cmd --add-service=libvirt --permanent && sudo firewall-cmd --reload

4. 重置CRC虚拟机(可选,仅当以上步骤无效时)

注意:此操作会清除CRC虚拟机的所有数据,请提前备份重要内容。

crc delete
crc setup
crc start

内容的提问来源于stack exchange,提问作者Ravi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 08:40:04