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文件后,此文件的权限发生了改变:

如上图所示,编辑了%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项目中的contrib\win32\openssh目录,在此目录中打开PowerShell命令行,执行以下命令:

.\FixUserFilePermissions.ps1 -Confirm:$false

执行此命令时若提示

无法加载文件FixUserFil ePermissions.ps1,因为在此系统上禁止运行脚本

错误,则先执行以下命令,然后输入Y回车确认后再重新执行(执行完毕后可以再执行以下命令输入N恢复默认配置):

Set-ExecutionPolicy RemoteSigned

3.操作完成后,在VSCode中编辑C:\Users\Administrator.ssh\config文件将不会影响此文件的权限,在VSCode 和PowerShell中均可正常进行SSH 远程连接:
在VSCode 中通过Remote-SSH进行SSH远程连接:

在PowerShell中进行SSH远程连接:

相关连接

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

本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可,转载请保留此声明。

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值