首页 > 解决方案 > 无法使用 ssh 从 Windows 10 CMD 连接到 EC2 Linux 实例

问题描述

我有一个正在运行的EC2实例,它正在运行Linux OS( Amazon Linux AMI release 2018.03)。

鉴于在命令提示符中Windows 10SSH可用的客户端,我试图在实例设置期间使用作为密钥对提供的私钥(文件)SSH进入我的实例。EC2SSH.pemAWSEC2

我正在使用的命令cmd是:

ssh -i private_key.pem ec2-user@3.133.96.240

这里private_key.pem是提供的私钥文件的名称AWS

但我不断收到错误:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private_key.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 "private_key.pem": bad permissions
ec2-user@3.133.96.240: Permission denied (publickey).

我想澄清一些事情:

  1. StackOverflow 上有类似的问题。这些问题实际上涉及尝试EC2从正在运行MacOS/ Linux(任何UNIX基于操作系统)的主机连接到实例。就我而言,我正在尝试Windows使用命令提示符从 10 个主机连接。

  2. 在回答 (1) 中讨论的其他问题时,人们建议尝试将私钥 file( .pem) 文件的文件权限更改为只读( chmod 444 file.pem)。作为回应,我尝试.pem从我的Windows. 这没有帮助。我不断收到同样的错误。

  3. 我能够从我的 Windows 10 cmd 连接到其他远程 Linux 主机,这表明我的 Windows 10 SSH 客户端可能没有问题。

  4. Putty我知道使用而不是可以使这种联系更容易CMD,但这不是这个问题的意义所在。只是假设由于某些限制我不能使用Putty

任何帮助,将不胜感激。

标签: amazon-web-servicesamazon-ec2sshaclec2-ami

解决方案


在 Windows 10 中,找到有问题的 pem 文件并右键单击它。

属性--> 安全--> 高级
1. 确保您的用户是文件的所有者
2. 专门为您的用户授予读取和执行权限,
同时为其他用户或组删除文件的所有其他权限。

在此处输入图像描述


推荐阅读