真正解决 windows OpenSSH WARNING: UNPROTECTED PRIVATE KEY FILE!

解决Windows OpenSSH私钥文件保护问题
本文介绍了使用VS Code Remote Development的Remote Debug功能时,配置连接Linux host用SSH key登陆,遇到Windows 10内置OpenSSH提示私钥文件权限问题的解决方法。通过在PowerShell获取用户名,对私钥文件进行权限设置,最终解决问题,可直接调试远程Linux环境下的Python。

【提醒】:不要再看其他文章了,以下才是根本的解决方法。

我开始用 Visual Studio Code - Insiders 了,因为有一个很吸引我的功能 VS Code Remote Development里的  Remote Debug。

这是什么功能?就是代码在 远程的linux,也运行在远程的linux上,但debuger是在本地的windows上,代码也不用在windows上。

这怎么发生的?ssh 大法。准确来说是  VS Code Remote Developmen的的 Remote SSH 扩展所支持的。

但在用这个功能是,我要配置连接 linux host,用ssh key登陆,

如下,我在 PowerShell 上测试 windows 10 内置的OpenSSH 连接我的 linux host,出现如下这个问题,说我的key too open 了。

PS C:\vm\share_vm> ssh -i .\id_rsa  root@192.168.56.101

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for '.\\id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key ".\\id_rsa": bad permissions
root@192.168.56.101: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

如果是在linux下,chmod 600就搞定了,但这是windows。

按如下方法去解决。

1)非常重要的一步:

在得到当前用户名(就如同在linux运行 id 命令一样)

在PowerShell 运行如下命令

PS C:\vm\share_vm> $env:username
EduPlus        <------ 记住这个当前用户名,下面步骤要用到

2)右键这个 私钥文件,选择

【属性】--> 【安全】--> 【高级】

点击【更改权限】

如图,然后把所有的【权限条目】都删除了

然后按下图操作,更改所有者

记住,EduPlus 是前面通过PowerShell 查出的当前用户名,下图是改完的效果

接着,添加权限条目,如下图操作

记住,EduPlus 是前面通过PowerShell 查出的当前用户名,点击确定后,再按下图打操作,给予当前用户完全控制的权限

最后,你看的的样子应该是如下图,才算正确的解决了问题

好了,问题已经解决。

再也不用在本地放一份代码的副本了,直接调试远程linux 环境下的python,各种依赖都是在linux下的,再也不用操心 windows下python 包依赖的问题了

评论 28
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值