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

我開始用 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  [email protected]

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         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
[email protected]: 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 包依賴的問題了

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章