欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在 Windows 上使用密钥进行 ssh 连接时,私钥文件未受保护发出警告

最编程 2024-03-03 20:56:16
...

2018年12月3日


在安装了OpenSSH的Windows机器上可以像Linux系统上一样使用ssh与scp等命令,不过在需要密钥登陆时,即使按照命令格式ssh -i 私钥路径正确输入,有时也会遇到私钥安全性不够的错误,具体信息如下:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

这是由私钥文件存储路径的权限过于开放造成的。按照StackExchange网站上网友的回答,可以使用下面的方法来解决这一问题,演示以win10为例。
右键打开私钥文件或其所在文件夹的属性,点击安全选项卡中的高级选项,在弹出窗口中点击左下角的禁用继承,接着选择从此对象中删除所有已继承的权限。这样就首先删除了所有权限。
下一步还需要添加用户的权限。点击刚才禁用继承选项上方的添加,弹出菜单中点击左上角的选择主体,在选择用户或组窗口的下方有输入要选择的对象名称窗口,这里输入Windows用户名(如:Administrator等)然后检查名称,如果用户名没有问题的话就会自动匹配用户名,然后确定,在权限项目窗口中选择完全控制,然后确定,最后在高级安全设置中确定添加的权限并确定修改文件属性,就完成了权限的添加。
这时再用ssh -i 私钥路径命令时就不会弹出权限过于开放的警告了。
最后还有一点小提示,在使用Windows下putty时使用的私钥文件(后缀.ppk)是putty私有的私钥格式,是不兼容于OpenSSH的,如果想在OpenSSH命令下使用puttygen生成的私钥,需要在puttygen软件中转换私钥格式为OpenSSH格式。