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"等其他条目

结语

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

相关推荐
竹之却8 分钟前
Ubuntu 系统安装 Ollama 教程
linux·运维·ubuntu·ollama
内卷焦虑人士12 小时前
Windows安装WSL2+Ubuntu 22.04
linux·windows·ubuntu
门豪杰14 小时前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
深蓝轨迹16 小时前
彻底删除VMware虚拟机并清理残留,解决虚拟网卡消失问题
windows·ubuntu·centos
简宸~18 小时前
VS Code + LaTex + SumatraPDF联合使用指南
java·vscode·latex·sumatrapdf
²º²²এ松19 小时前
vs code连接ubuntu esp项目
linux·数据库·ubuntu
2501_9160074719 小时前
在非 Xcode 环境下完成苹果开发编译的记录 iOS 编译与调试
ide·vscode·ios·cocoa·个人开发·xcode·敏捷流程
徒 花20 小时前
ubuntu远程连接ssh及VSCode配置远程ssh连接ubuntu
vscode·ubuntu·ssh
十五年专注C++开发20 小时前
Linux 下用 VS Code 高效调试
linux·运维·服务器·c++·vscode
闲猫20 小时前
Java ApacheSSHD实现SSH代理
运维·服务器·ssh