PuTTY连接VMware Workstation中Rocky Linux 8.8虚拟机提示Connection refused求助
看起来你已经做了不少基础排查工作,不过既然问题是突然出现的,咱们可以从几个容易忽略的细节入手,一步步定位问题:
先确认虚拟机IP是否发生变动:桥接模式下如果虚拟机用DHCP获取IP,重启主机/虚拟机或者网络环境变化后,IP很可能会改变。先在Rocky Linux终端执行
ip addr命令,把显示的当前IP和你PuTTY里输入的IP对比一下,别是不小心连错了旧IP。检查VMware桥接的物理网卡是否匹配:如果你近期切换过主机的网卡(比如从有线换成无线),VMware的自动桥接可能没同步更新。打开VMware的「编辑」→「虚拟网络编辑器」,查看vmnet0对应的桥接物理网卡是不是当前主机正在使用的那个(比如你现在连的是WiFi,就选无线网卡),调整后重启虚拟机的网络服务
systemctl restart NetworkManager或者直接重启虚拟机试试。再次验证SSH服务的实际运行状态:虽然你提到端口在监听,但说不定服务其实存在隐性异常。在虚拟机里执行
systemctl status sshd,看看输出里是不是明确显示active (running)状态。如果不是,先尝试重启服务systemctl restart sshd,再检查状态,顺便留意输出里有没有配置错误、权限问题之类的报错信息。测试主机到虚拟机的端口连通性:在主机的命令提示符里,先ping一下虚拟机的IP,确认网络层面能通。如果ping得通,再用
telnet 虚拟机IP 22测试22端口是否能连上——如果telnet提示连接失败,可能是主机防火墙拦截了SSH请求,或者虚拟机的防火墙规则存在疏漏(可以临时关闭虚拟机防火墙systemctl stop firewalld再测试,先排除防火墙的影响)。排查SELinux的限制:Rocky Linux默认启用SELinux,有时候它会基于上下文规则阻止正常的SSH连接。你可以临时关闭SELinux试试:执行
setenforce 0,然后再用PuTTY连接。如果能连上了,说明是SELinux的上下文配置出了问题,执行restorecon -Rv /etc/ssh修复SSH相关文件的上下文,之后再开启SELinuxsetenforce 1即可。最后核对PuTTY的配置细节:别小看这个小环节,有时候不小心误改了PuTTY的端口号或者连接类型。确认一下PuTTY里的「端口」是不是22,「连接类型」是不是选的SSH,有没有误开了代理设置。
备注:内容来源于stack exchange,提问作者kanchana disanayaka

