远程访问虚拟机中OpenShift CRC控制台遇SSH连接拒绝求助
解决无法通过SSH访问虚拟机并转发OpenShift控制台端口的问题
一、优先处理SSH连接被拒绝的问题
你遇到的ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused是当前核心障碍,按以下步骤排查:
- 检查虚拟机SSH服务状态:在虚拟机shell中执行
systemctl status sshd,若服务未启动,执行systemctl start sshd,并设置开机自启systemctl enable sshd。 - 开放虚拟机防火墙22端口:执行
firewall-cmd --list-ports查看已开放端口,若未显示22/tcp,添加规则firewall-cmd --add-port=22/tcp --permanent,再重载防火墙firewall-cmd --reload。 - 确认虚拟机IP正确性:在虚拟机中执行
ip a查看实际IP地址,确保你SSH命令中使用的xxx.xxx.xxx.xxx是虚拟机的真实IP(避免用错localhost或无效网段)。 - 测试网络连通性:在本地电脑执行
ping xxx.xxx.xxx.xxx,若不通,检查虚拟机网络模式(建议用桥接模式,确保和本地电脑在同一网段),或排查本地防火墙是否拦截了对虚拟机的访问。
注:调试信息
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files属于正常提示,只是SSH配置文件中一个可选的包含项未找到匹配文件,和连接被拒无关,无需处理。
二、SSH连接正常后,调整端口转发与控制台访问配置
当SSH能成功连接虚拟机后,按以下步骤调整:
- 修改端口转发命令:本地443端口属于特权端口,可能被其他服务占用,建议改用非特权端口(如8443),命令改为:
ssh -L 8443:console-openshift-console.apps-crc.testing:443 myuser@xxx.xxx.xxx.xxx - 验证虚拟机内部域名解析:在虚拟机shell中执行
ping console-openshift-console.apps-crc.testing,确保能正常解析到CRC集群的IP,若解析失败,检查CRC安装后的ingress域名配置是否正常。 - 访问控制台:在本地浏览器中访问
https://console-openshift-console.apps-crc.testing:8443,浏览器会提示证书不安全(CRC使用自签名证书),直接选择继续访问即可。
三、额外注意事项
- 若你使用Windows系统,修改
hosts文件需要管理员权限,修改后执行ipconfig /flushdns刷新DNS缓存。 - 确保本地电脑未开启拦截SSH或HTTPS流量的防火墙规则。
内容的提问来源于stack exchange,提问作者jackdicuori15
相关产品推荐
相关产品推荐

