我有一个正在运行的EC2
实例,该实例正在其上运行Linux OS
(Amazon Linux AMI release 2018.03
)。
[鉴于Windows 10
在命令提示符下具有SSH
客户端,我试图使用SSH
提供的EC2
私钥(SSH
文件)将.pem
插入我的AWS
实例, EC2
实例的设置过程中需要一对密钥对。
我在cmd
上使用的命令是:
ssh -i private_key.pem [email protected]
这里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
[email protected]: Permission denied (publickey).
我想澄清一些事情:
关于StackOverflow也有类似的问题。这些问题实际上涉及尝试从运行EC2
/ MacOS
(任何基于Linux
的OS)的主机连接到UNIX
实例。就我而言,我试图使用命令提示符从Windows
10主机进行连接。
为回答(1)中讨论的其他问题,人们建议尝试将私钥文件(.pem
)文件的文件许可更改为只读(chmod 444 file.pem
)。作为响应,我尝试通过.pem
中的文件属性将Windows
文件设置为只读。这没有帮助。我不断收到相同的错误。
我能够从Windows 10 cmd连接到其他远程Linux主机,这表明Windows 10 SSH客户端可能没有问题。
我知道可以通过使用Putty
而不是CMD
来简化此连接,但这不是这个问题的意思。假设由于某些限制,我不能使用Putty
。
任何帮助将不胜感激。
您是对的-这是因为Windows权限模型不同于Linux。
查看更多:Understanding Linux File Permissions - Linux.com
[有很多技巧可以解决此问题。我建议从此存储库中应用this脚本:openssh-portable
。摘要设置安全文件ACL。 1.删除了除管理员组,系统和当前用户以外的所有用户acl 2.是否接受所有者。OutputsN /A。InputsFilePath-文件接受所有者的路径-如果要获得所有权