如何避免权限被拒绝 (publickey) SSH 密钥 (Windows)

Şev*_*man 11 ssh amazon-ec2 amazon-web-services

我想通过 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).
Run Code Online (Sandbox Code Playgroud)

我如何在 Windows 上解决这个问题?

Kat*_*air 32

这是对我有用的方法

步骤1

步骤1

右键单击资源管理器上的密钥文件first1.pem,然后转到“属性”>“安全”>“高级”>“禁用继承”

第2步

第2步

选择“将此对象的继承权限转换为显式权限”

步骤3

步骤3

然后删除那里的所有内容(包括管理员、用户、用户组)并单击“添加”按钮。

步骤4

步骤4

现在选择选择主体 > 高级 > 立即查找 > [您的用户对象] > 确定

步骤5

步骤5

现在您可以勾选“完全控制”,然后按确定

现在其他人无法访问您的密钥文件。这是唯一对我有用的方法。希望能帮助到你。谢谢。

  • 谢谢,我终于在 Windows 上成功做到了。在 Linux 中,只需使用“chmod 700 {filePath}”即可完成此操作。Windows 使这变得如此复杂。 (4认同)

Chr*_*ams 5

如果您的 SSH 私钥的权限过于开放(无论操作系统如何),您将无法使用该密钥。

一般来说,它应该是尽可能低的权限(仅供您的用户读取),至少在 Windows 上您应该能够删除所有其他用户权限,这将允许加载密钥。

  • 听起来您删除了_太多_权限。请参阅:[Windows SSH:“私钥”的权限过于开放](https://superuser.com/a/1296046/413312) (2认同)