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

获取OpenShift Pod的SSH连接:CRC集群下VS远程调试C++应用失败

解决CRC(OpenShift)Pod中SSH本地连接重置问题

排查与解决步骤

1. 先确认sshd是否真的在运行

执行命令查看进程:

ps aux | grep sshd

如果没找到sshd进程,直接前台启动并输出调试日志,能立刻看到失败原因:

/usr/sbin/sshd -D -e

2. 修正sshd配置

编辑/etc/ssh/sshd_config,确保关键配置正确:

PermitRootLogin yes
PasswordAuthentication no
PubkeyAuthentication yes
ListenAddress 0.0.0.0
ListenAddress ::  # 同时绑定IPv4和IPv6,避免日志里的IPv6连接问题

修改后重启sshd:

/usr/sbin/sshd

3. 处理SELinux限制

OpenShift默认强制启用SELinux,这是和minikube的核心差异之一,可能拦截sshd的网络操作。临时切换到宽容模式测试:

setenforce 0

如果此时能正常连接,说明是SELinux的问题,添加规则允许sshd运行:

chcon -t sshd_exec_t /usr/sbin/sshd
restorecon -Rv /var/run/sshd

4. 调整Pod的Security Context

OpenShift对Pod权限限制更严格,确保你的Deployment/Pod YAML里有必要的权限配置:

securityContext:
  capabilities:
    add:
      - NET_BIND_SERVICE
  allowPrivilegeEscalation: true

同时确保Dockerfile里设置了USER root——sshd默认需要root权限绑定22端口,OpenShift默认用非root用户运行Pod,会直接导致sshd启动失败。

5. 强制用IPv4测试连接

日志里显示连接的是IPv6的[::1],如果sshd没绑定IPv6,会直接重置连接。试试强制用IPv4连接:

ssh -vvv -i /root/.ssh/id_rsa root@127.0.0.1

如果成功,说明是IPv6绑定的问题,回到步骤2补全ListenAddress ::配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:05:27