为什么我需要限制 PEM 密钥的权限?

为什么我需要限制 PEM 密钥的权限?

我有一个用于我的 ec2 服务器的 .pem 密钥文件ssh。我已将此密钥文件移动到加密的外部 SSD 磁盘。这导致 pem 密钥的所有者被设置为“所有人”。

当我尝试使用此键时,cmd.exe我收到警告

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'XXXXXXX-kp.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 "XXXXXX-kp.pem": bad permissions
XXXXXX.compute-1.amazonaws.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

我还使用此密钥通过 EC2 SSH 连接连接到我的 amazon RDS 实例。这不知何故没有任何问题。我还将此 pem 文件复制到智能手机上的共享文件夹中作为备份。我也已termux在智能手机上安装,并且termux我还可以使用 pem 文件 ssh 到我的 ec2 实例,没有任何问题。

那么,如果您没有为 pem 文件指定所有者,情况到底有多糟糕?这会以某种方式降低 ssh 连接的安全性吗?如果是,那怎么办?

答案1

从技术上来说,这种连接的安全性并不会降低。

实际上,该系统的安全性较低。此消息似乎与对 ssh 密钥文件具有错误的权限有关。如果系统的任何用户(包括受限用户)可以覆盖或读取密钥文件,那么他们就可以危及该帐户。系统不会信任它,因为它不能确定它没有被篡改。

我不熟悉 Windows 上的 SSH。但在 Linux 上,这通常意味着文件的权限/.ssh/只能由所有者读取/写入。即 600。

请参阅此处,其中包含 Linux 和 Windows 解决方案:https://stackoverflow.com/questions/25869207/getting-warning-unprotected-private-key-file-error-message-while-attempting

相关内容