警告:未受保护私钥的文件!当试图SSH到亚马逊EC2实例
-
03-07-2019 - |
题
我的工作设置熊猫在亚马逊EC2实例。我设定了我的帐户和工具昨晚和没有问题,使用SSH与我自己的个人实例,但是现在我不被允许许可进入熊猫的EC2实例。开始与熊猫
我得到的以下错误:
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
我chmoded我的密钥对600为了得到我个人的实例昨晚和试验的长度设定的权限为0,甚至产生新的钥匙串,但似乎没有任何工作。
任何帮助都将是一个很大的帮助!
嗯,它看起来好像除非另有权限的设置是为777上目录,t2的运行实例脚本是无法找到我的密钥文件.我是新来的SSH所以我可以俯瞰一些东西。
解决方案
为了昨晚进入我的个人实例,我已将我的密钥对分为600,
这就是应该的样子。
从 EC2文档中我们&quot ;如果您正在使用OpenSSH(或任何合理的偏执SSH客户端),那么您可能需要设置此文件的权限,以便它只能由您读取。“您链接到的链接到的Panda文档亚马逊的文档,但实际上并没有表明它的重要性。
这个想法是密钥对文件就像密码一样需要保护。因此,您使用的ssh客户端要求保护这些文件,并且只有您的帐户才能阅读这些文件。
将目录设置为700确实应该足够了,但只要文件是600,777就不会受到伤害。
您遇到的任何问题都是客户端问题,因此请确保包含本地操作系统信息以及任何后续问题!
其他提示
确保包含私钥文件的目录设置为 700
chmod 700 ~/.ec2
要解决此问题,1)您需要将权限重置为默认值:
sudo chmod 600~ / .ssh / id_rsa
sudo chmod 600~ / .ssh / id_rsa.pub
如果您收到其他错误: 您确定要继续连接(是/否)吗?是 无法将主机添加到已知主机列表(/home/geek/.ssh/known_hosts)。
2)这意味着该文件的权限也设置不正确,可以使用以下方法进行调整:
sudo chmod 644~ / .ssh / known_hosts
3)最后,您可能还需要调整目录权限:
sudo chmod 755~ / .ssh
这应该让你恢复正常运行。
应保护私钥文件。在我的情况下,我已经使用了public_key认证很长一段时间,我曾经将权限设置为600(rw- --- ---)私钥和644(rw- r-- r--)和主文件夹中的.ssh文件夹将获得700个权限(rwx --- ---)。要进行此设置,请转到用户的主文件夹并运行以下命令
为.ssh文件夹设置 700 权限
chmod 700 .ssh
设置私钥文件的 600 权限
chmod 600 .ssh/id_rsa
为公钥文件设置 644 权限
chmod 644 .ssh/id_rsa.pub
我也遇到了同样的问题,但我通过将密钥文件权限更改为600来解决此问题。
sudo chmod 600 /path/to/my/key.pem
链接: http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/
在Windows上,尝试使用git bash并在那里使用Linux命令。简单方法
chmod 400 *****.pem
ssh -i "******.pem" ubuntu@ec2-11-111-111-111.us-east-2.compute.amazonaws.com
保持你的私人钥匙,公共钥匙,会验证预的同一目录和登录尝试如下:
ssh -I(small i) "hi.pem" ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
- 同一目录的意义,
cd /Users/prince/Desktop
.现在的类型ls
命令 和你应该看看**.pem **.ppk known_hosts
注: 你必须尝试为登录的同一目录或者你会得到许可被拒绝的错误,因为它不能找到.pem文件从你本目录。
如果你想要能够从SSH的任何目录,可以将以下内容添加到你 ~/.ssh/config
文件...
Host your.server
HostName ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ec2/id_rsa-gsg-keypair
IdentitiesOnly yes
现在你可以SSH到你的服务器,无论在哪里,该目录是通过简单的打字 ssh your.server
(或任何名称的地方之后"主机")。
我正在考虑其他问题,如果您尝试使用不存在的用户名登录,则会收到此消息。
所以我假设您可能尝试使用ec2-user进行ssh,但我记得最近大多数centos AMI使用的是centos用户而不是ec2-user
所以,如果你是
ssh -i file.pem centos @ public_IP
请告诉我你正在使用正确的用户名来搜索ssh,否则这可能是你看到这样的错误消息的一个很好的理由,即使你的权限是正确的〜/ .ssh / id_rsa或file.pem
对于偶然发现此事的人来说只是一张纸条:
如果您尝试使用已与您共享的密钥进行SSH,例如:
ssh -i /path/to/keyfile.pem user @ some-host
keyfile.pem
是与您共享的私钥/公钥,并且您正在使用它进行连接,请确保将其保存到〜/ .ssh /
和 chmod 777
。
当我的机器上的其他地方保存文件时,尝试使用该文件会出现OP的错误。不确定它是否直接相关。