子兮子兮

No can, but will.

目录
Windows 下 VSCode 使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决
/        

Windows 下 VSCode 使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决 有更新!

问题描述

在 Windows 系统下的 VSCode 安装 Remote - SSH 扩展后,使用扩展配置 SSH 并进行远程连接,可能会发生 Bad owner or permissions on C:\Users\Administrator/.ssh/config 错误,造成无法进行 SSH 远程连接的问题。

原因是由于使用 Remote - SSH 扩展所依赖的 Remote - SSH: Editing Configuration Files 扩展编辑了 C:\Users\Administrator.ssh\config 文件后,此文件的权限发生了改变:
image.png

如上图所示,编辑了 %USER_HOME%\.ssh\config 文件后,不但在 VSCode 中由于配置文件权限问题而无法进行 SSH 远程连接,就连使用系统的 PowerShell 进行 SSH 连接时也会报此错误,而把此配置文件删除后,使用 PowerShell 即可正常进行远程连接。但 VSCode 的 SSH 连接又依赖此配置文件,所以就产生了冲突,要么只有 PowerShell 能用,要么就都不能用。

实测 Windows Server 2019 和 Windows 10 企业版 1903 中都存在此问题,不知道是系统的原因、VSCode 的原因还是人为操作问题。

解决方法

  1. 在 GitHub 上下载 openssh-portable 项目,其 Git 命令如下:
     git clone https://github.com/PowerShell/openssh-portable.git
    
  2. 下载完成后进入 openssh-portable 项目根目录,在此目录中打开 PowerShell 命令行,执行以下命令:
    .\FixUserFilePermissions.ps1 -Confirm:$false
    
  3. 操作完成后,在 VSCode 中编辑 C:\Users\Administrator.ssh\config 文件将不会影响此文件的权限,在 VSCode 和 PowerShell 中均可正常进行 SSH 远程连接:

    • 在 VSCode 中通过 Remote - SSH 进行 SSH 远程连接:
      image.png

    • 在 PowerShell 中进行 SSH 远程连接:
      93310FA6D4F64FA7BF7BEBE7357A79E6.jpeg

相关连接

https://stackoverflow.com/questions/49926386/openssh-windows-bad-owner-or-permissions
https://github.com/PowerShell/openssh-portable


文章:Windows 下 VSCode 使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决作者:iTanken
链接:https://zixizixi.cn/windows_vscode_ssh_error_bad-owner-or-permissions出处:https://zixizixi.cn
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
本文发布于 子兮子兮 博客,欢迎转载,但未经作者同意请保留此声明,并在文章页面明显位置给出原文连接。

评论