0

0

VSCode远程连接失败怎么解决_SSH配置与连接问题排查

夜晨

夜晨

发布时间:2026-01-15 16:47:02

|

725人浏览过

|

来源于php中文网

原创

VSCode远程连接失败主因是SSH密钥权限错误、私钥路径未配置、SSH服务未启用或shell初始化阻塞;需分别修复authorized_keys权限、配置identityFile、检查sshd状态及安全组、清理.bashrc阻塞命令。

vscode远程连接失败怎么解决_ssh配置与连接问题排查

SSH密钥权限不对导致连接被拒绝

VSCode远程连接失败最常见的原因是服务端 ~/.ssh/authorized_keys 文件或其父目录权限过宽。OpenSSH 默认会拒绝读写权限开放给组或其他用户的密钥文件,直接中断认证。

  • ~/.ssh 目录权限必须是 700(即 drwx------
  • ~/.ssh/authorized_keys 文件权限必须是 600(即 -rw-------
  • 执行 chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys 后重试
  • 如果用的是非默认用户(如 sudo -u www-data),还要确认该用户主目录归属正确,且 /home/www-data/.ssh 存在并可读

VSCode Remote-SSH 扩展读不到私钥路径

VSCode 默认只从 ~/.ssh/id_rsa~/.ssh/id_ecdsa 等固定路径加载密钥,不会自动读取 ssh-agent 或自定义路径的密钥,除非显式配置。

  • 在 VSCode 的 Remote-SSH: Open Configuration File... 中,为对应主机添加 identityFile 字段
  • 例如:
    "IdentityFile /Users/you/.ssh/my_custom_key"
  • Windows 用户注意路径分隔符,应使用正斜杠或双反斜杠:
    "IdentityFile C:/Users/you/.ssh/key"
    "IdentityFile C:\\Users\\you\\.ssh\\key"
  • 若私钥有密码,确保已通过 ssh-add 加载,或改用无密钥(仅限测试环境)

SSH服务未启用或端口被拦截

VSCode 连接时卡在 “Establishing SSH connection…” 或报错 “Could not establish connection to …”,很可能是服务端 SSH 守护进程没运行,或防火墙/云平台安全组阻止了连接端口。

Copy Leaks
Copy Leaks

AI内容检测和分级,帮助创建和保护原创内容

下载
  • 登录服务器后运行 sudo systemctl status ssh(Ubuntu/Debian)或 sudo systemctl status sshd(CentOS/RHEL),确认状态为 active (running)
  • 检查监听端口:ss -tlnp | grep :22,确认 sshd 正在监听 0.0.0.0:22 或指定端口
  • 云服务器(如阿里云、AWS)需额外检查安全组规则,放行对应端口(默认 22,若改过则填实际端口)
  • 本地网络若走企业代理或 NAT,也可能拦截 SSH 流量;可尝试用终端手动执行 ssh -v user@host 观察具体在哪一步失败

VSCode Remote-SSH 日志里出现 “Failed to fetch remote environment”

这通常不是连接问题,而是登录后无法执行远程初始化脚本,常见于 shell 配置文件(如 ~/.bashrc~/.zshrc)中存在阻塞操作或错误输出。

  • VSCode 启动远程会话时会调用 bash -c 'echo $SHELL' 类似命令,任何非 JSON 输出或提前退出都会中断流程
  • 检查 ~/.bashrc 开头是否有交互式判断(如 [ -z "$PS1" ] && return 缺失),或是否执行了 readsttytmux attach 等阻塞命令
  • 临时注释掉 .bashrc 中可疑段落,再试连接;定位后改用 if [[ $- == *i* ]] 包裹交互式逻辑
  • 也可在 SSH 配置中指定非交互式 shell:
    "remoteEnv": { "SHELL": "/bin/bash" }
    ,但根本解法仍是清理 shell 初始化逻辑

远程连接问题往往卡在“看起来通但就是连不上”的环节,真正耗时的不是配密钥,而是排查那些不报错、只静默失败的环境初始化细节。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

411

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

738

2023.08.22

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

576

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1099

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

790

2023.08.01

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号