[英]How to avoid Permission denied (publickey) SSH key (Windows)
我想用 SSH 连接我的 ec2。 但我得到这个错误:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'F:\\Config\\first1.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "F:\\Config\\first1.pem": bad permissions
ec2-user@ec2-52-14-94-38.us-east-2.compute.amazonaws.com: Permission denied (publickey).
我怎样才能在 Windows 上解决这个问题?
如果您的私人 SSH 密钥(无论操作系统)的权限太开放,您将无法使用该密钥。
通常它应该是尽可能低的权限(仅供您的用户只读),至少在 Windows 上,您应该能够删除所有其他用户的权限,这将允许加载密钥。
我在 PowerShell 桌面版上创建了一个实用程序脚本来立即设置所需的权限。
它包含一个函数,该函数将文件作为输入并设置删除继承和除当前用户之外的所有用户的权限。
请注意,需要首先应用继承,以便随后能够删除其他用户(如果不首先应用继承,则执行此操作的方法将无能为力)。
在运行脚本之前,应将ExecutionPolicy
设置为RemoteSigned
,我更喜欢在会话范围内应用,以免在我的系统上更改永久设置。
打开 Windows Power Shell 控制台,首先运行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
然后下载脚本,编辑私有文件名,运行即可。
<script src="https://gist.github.com/Scot-Bernard/fd409ad73b3733c3b9e93dd9055b9814.js"></script>
确保只向主要用户授予权限,在我的例子中是联想。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.