VSCode Remote-SSH 的使用以及连接失败(Bad permissions)完整排错指南

文章目录

  • [1. 通过ssh连接服务器](#1. 通过ssh连接服务器)
  • [2. 故障排查(Bad permissions)](#2. 故障排查(Bad permissions))
    • [2.1 文件权限错误 (Bad permissions)](#2.1 文件权限错误 (Bad permissions))
    • [2.2 解决方法:修改文件权限](#2.2 解决方法:修改文件权限)
      • [windows通过 GUI 图形界面修改(推荐)](#windows通过 GUI 图形界面修改(推荐))
  • 结语

我们经常会使用VSCode Remote-SSH来进行链接ubuntu服务器进行开发,可能在连接过程中总是会遇到连接失败的问题,本文将带你系统化排查,直达问题根源。

1. 通过ssh连接服务器

1、打开vscode,进入拓展(Ctrl+Shift+X),安装插件Remote - SSH。

安装成功后,在vscode的左下角会出现图标:

点击图标,依次点击Connet to host --> Configure SSH Hosts --> C:\Users<用户名>.ssh\config,最终进入配置页面,填入:

bash 复制代码
Host <显示的服务器名称>
  HostName <服务器IP>
  User <ssh登录的用户名>
  Port <端口号,默认端口22可以不配置>

配置成功后,再次点击图标,然后点击Connet to host就能看到看看配置的服务器名称,点击名称就可能进行ssh连接。随后选择ubuntu,输入密码,就能进行正常连接了。

如果一切正常,那恭喜你,成功连接。可是往往都会有些波折,下面分享一个我遇到的问题,已经排查思路

2. 故障排查(Bad permissions)

2.1 文件权限错误 (Bad permissions)

当连接终端打印如下信息时,所以你的config文件权限不对,导致无法修改:

复制代码
Bad permissions. Try removing permissions for user: \\Everyone (S-1-1-0) on file C:/Users/pmc/.ssh/config.

其根本原因是在Windows 系统上,SSH 客户端对安全要求严格,如果 config 文件或私钥文件的权限设置过宽(如包含了 "Everyone" 用户组的访问权限),它会拒绝使用这些文件。

2.2 解决方法:修改文件权限

如果在ubuntu上修改的话,只需要对文件施加chmod 600权限即可.

下面主要分享windows的解决方法

windows通过 GUI 图形界面修改(推荐)

  1. 定位文件
  • 打开文件资源管理器,导航到 C:\Users你的用户名.ssh\
  • 找到 config 文件
  1. 打开属性对话框
  • 右键点击 config 文件 → 选择"属性"
  • 切换到"安全"选项卡
  1. 移除继承权限
  • 点击"高级"按钮
  • 点击"禁用继承"
  • 选择"从此对象中删除所有已继承的权限"
  • 点击"应用"
  1. 添加专用权限
  • 点击"添加"按钮
  • 点击"选择主体"
  • 输入你的 Windows 用户名,点击"检查名称"
  • 设置"基本权限"为"完全控制"
  • 点击"确定"保存
  1. 验证最终权限
  • 返回高级安全设置窗口
  • 确认权限条目中只有一条记录:你的用户拥有"完全控制"
  • 不应有"Everyone"、"Users"等其他条目

结语

好了,大家有没有遇到过其他问题,评论区告诉我

相关推荐
Web3探索者3 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
开发者联盟league10 天前
安装pnpm
ssh
2601_9618752410 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
张飞飞飞飞飞10 天前
Tmux命令使用教程
linux·服务器·ubuntu
爱就是恒久忍耐10 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
意法半导体STM3210 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
bloglin9999910 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
盼小辉丶10 天前
Ubuntu极速部署OpenClaw完全指南(本地模型+DeepSeek)
linux·ubuntu·openclaw
黑白园10 天前
【环境搭建】Ubuntu安装(一)
linux·ubuntu
Moshow郑锴11 天前
Ubuntu用SDKMAN轻松管理多个Java 版本
java·ubuntu·sdkman