Vscode-Remote - SSH访问远程服务器的问题
·
一.问题
使用vscode-Remote - SSH插件访问linux远程服务器
报错信息:
Bad owner or permissions on D:\\MyData\\username/.ssh/config
是SSH客户端因权限过松而拒绝访问配置文件
二.解决方法
方法1.直接界面操作
查看用户的D:\\MyData\\username/.ssh 文件夹的权限
导航到 .ssh 文件夹,通常位于 C:\Users\.ssh。
右键点击 .ssh 文件夹,选择“属性”。
在“安全”选项卡中,点击“高级”按钮。
点击“禁用继承”选项,然后点击“确定”。
点击“编辑”,然后添加你的用户名,确保你拥有完全控制权限。
删除其它用户,只保留当前使用的用户名;
点击“应用”和“确定”以保存更改。
方法2.使用cmd命令
1. 修复.ssh文件夹权限(关键步骤)
-
打开命令提示符(管理员):
icacls "%USERPROFILE%\.ssh" /reset icacls "%USERPROFILE%\.ssh*" /reset icacls "%USERPROFILE%\.ssh" /inheritance:r icacls "%USERPROFILE%\.ssh" /grant:r "%USERNAME%:(F)" -
这些命令将:
-
重置权限
-
移除继承权限
-
仅授予当前用户完全控制权
-
2. 修复配置文件权限
单独修复config文件:
icacls "%USERPROFILE%\.ssh\config" /inheritance:r /grant:r "%USERNAME%:(F)"
3. 检查其他关键文件权限
确保以下文件权限正确(同第2步):
icacls "%USERPROFILE%\.ssh\id_rsa" /inheritance:r /grant:r "%USERNAME%:(F)"
icacls "%USERPROFILE%\.ssh\id_rsa.pub" /inheritance:r /grant:r "%USERNAME%:(F)"
icacls "%USERPROFILE%\.ssh\known_hosts" /inheritance:r /grant:r "%USERNAME%:(F)"
4. 重新连接测试
重启VSCode并尝试重新连接
重要:Windows的OpenSSH对权限要求严格,任何宽松权限(如
Everyone或继承权限)都会导致连接失败。重置后仅保留当前用户权限即可解决问题。
完成上述步骤后,Remote-SSH应能正常连接。如仍有问题,请检查日志中是否出现新的错误信息。
更多推荐
所有评论(0)