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

结语

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

相关推荐
无证驾驶梁嗖嗖10 小时前
用Plex打造随身私人影院告别影音杂乱,必须加上cpolar突破地域限制!
ubuntu
Sheep Shaun10 小时前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
生活很暖很治愈11 小时前
Linux——环境变量PATH
linux·ubuntu
予枫的编程笔记12 小时前
【Linux入门篇】Ubuntu和CentOS包管理不一样?apt与yum对比实操,看完再也不混淆
linux·人工智能·ubuntu·centos·linux包管理·linux新手教程·rpm离线安装
先做个垃圾出来………12 小时前
SSH密钥管理最佳实践
运维·ssh
mailangduoduo12 小时前
零基础教学连接远程服务器部署项目——VScode版本
服务器·pytorch·vscode·深度学习·ssh·gpu算力
匆匆那年96715 小时前
llamafactory推理消除模型的随机性
linux·服务器·学习·ubuntu
wypywyp1 天前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
阿蒙Amon1 天前
TypeScript学习-第10章:模块与命名空间
学习·ubuntu·typescript
No8g攻城狮1 天前
【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤
linux·运维·ubuntu