我有一个名为 awskey.ppk 的私钥文件和一个主机 IP 地址(我们称之为 123.45.678.910)
我正在尝试使用命令行命令连接到 EC2 实例 -
ssh -i /Users/ashishagarwal/EC2/awskey.ppk [email protected]
这给了我错误:
“/Users/ashishagarwal/EC2/awskey.ppk”的权限 0644 过于开放。 要求您的私钥文件不能被其他人访问。 该私钥将被忽略。 错误权限:忽略密钥:/Users/ashishagarwal/EC2/awskey.ppk 权限被拒绝(公钥)。
我该如何解决这个问题?
有两件事。
chmod
将修复您的权限。该文件需要更改为600或400。ppk
格式,需要将密钥转换为pem编码格式。您可以使用 putty keygen 工具来完成此操作。私钥文件的文件权限应为 400,可以使用
进行更改chmod 400 文件路径
确保您使用正确的用户名,例如
ec2-user
或 ubuntu
。如果您使用的是基于 UNIX 的系统,请使用 .ppk 密钥。
我假设您使用的是 Mac 或 Unix(基于命令行)。
运行此命令:
chmod 400 /Users/ashishagarwal/EC2/awskey.ppk
然后再次运行 SSH 命令,它应该可以工作。
有一些额外的工作,因为我们需要首先将 .ppk 转换为 .pem 文件。 Macbook 的说明: 首先,我们需要安装 Homebrew 和 Putty:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install putty
然后将 .ppk 转换为 .pem,如下所示:
puttygen yourFileLocation/your_aws.ppk -O private-openssh -o yourFileLocation/your_aws.pem
之后,设置权限限制访问:
chmod 400 yourFileLocation/your_aws.pem
现在您可以连接并登录到您的服务器实例,如下所示:
ssh -i yourFileLocation/your_aws.pem [email protected]
对于 Windows 用户,您可以从此处访问并下载 Putty。