我是跟野兽差不了多少 2025-05-25 23:05 采纳率: 98.3%
浏览 26
已采纳

VSCode连接Ubuntu时,SSH配置正确但依旧提示“Connection Refused”怎么办?

在使用VSCode通过SSH连接Ubuntu时,如果SSH配置正确却收到“Connection Refused”错误,可能是以下原因导致:1. SSH服务未启动。确保Ubuntu服务器上已启用并运行SSH服务(可通过`sudo service ssh status`检查)。2. 防火墙阻止端口。确认防火墙允许SSH默认端口22(使用`sudo ufw allow 22`)。3. 网络问题。检查服务器IP地址是否可达,网络是否存在限制。4. VSCode SSH插件缓存。尝试清除插件缓存或重置远程连接配置。解决方法:首先登录Ubuntu服务器,确保SSH服务正常运行(`sudo service ssh start`),然后验证端口状态(`netstat -tuln | grep 22`)。最后,确认本地与服务器之间的网络连通性(使用`ping`或`telnet`测试)。若问题依旧存在,可查看SSH日志(`/var/log/auth.log`)定位具体原因。
  • 写回答

1条回答 默认 最新

  • Qianwei Cheng 2025-05-25 23:05
    关注

    1. 初步检查:SSH服务状态

    当在使用VSCode通过SSH连接Ubuntu时收到“Connection Refused”错误,首先需要确认Ubuntu服务器上的SSH服务是否正常运行。可以通过以下命令检查:

    • 检查SSH服务状态:sudo service ssh status
    • 如果未启动,则尝试启动SSH服务:sudo service ssh start

    此外,可以验证端口22是否监听:

    netstat -tuln | grep 22

    2. 中级排查:防火墙与网络配置

    如果SSH服务已启动但问题依旧存在,可能是防火墙阻止了SSH连接。以下是检查和调整步骤:

    1. 允许端口22通过防火墙:sudo ufw allow 22
    2. 检查防火墙规则:sudo ufw status

    同时,确保服务器IP地址可达,网络无限制。可以使用以下工具测试:

    工具用途
    ping测试服务器IP地址的连通性
    telnet测试端口22是否开放

    3. 高级分析:VSCode插件与日志诊断

    若上述步骤均无误,可能的问题在于VSCode SSH插件缓存或远程连接配置异常。解决方法包括:

    • 清除VSCode SSH插件缓存
    • 重置远程连接配置

    如果以上措施无效,可进一步查看SSH日志以定位具体原因:

    cat /var/log/auth.log

    通过日志分析,通常能发现更深层次的连接失败原因。

    4. 流程图:整体排查步骤

    以下是完整的排查流程图,帮助您快速定位问题:

    graph TD; A[开始] --> B{SSH服务是否启动}; B --否--> C[启动SSH服务]; B --是--> D{防火墙是否允许端口22}; D --否--> E[允许端口22]; D --是--> F{网络是否连通}; F --否--> G[检查网络配置]; F --是--> H{VSCode插件是否异常}; H --是--> I[清除插件缓存]; H --否--> J[查看SSH日志];
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 5月25日