Mat*_*rts 688 authentication permissions ssh amazon-ec2 amazon-web-services
这对某些人来说可能是一个非常简单的问题:)
我在Amazon EC2上创建了一个新的linux实例,并且作为其中一部分下载了.pem文件以允许我进入SSH.
当我试图ssh:
ssh -i myfile.pem <public dns>
我有:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'amazonec2.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: amazonec2.pem
Permission denied (publickey).
在这篇文章之后我尝试chmod +600 pem文件,但现在当我ssh我得到:
Permission denied (publickey).
我在这里做的男生错误是什么?.pem文件位于我的主文件夹中(在osx中).它的权限如下所示:
-rw-------@   1 mattroberts  staff    1696 19 Nov 11:20 amazonec2.pem
Kof*_*Kof 1351
问题是文件上有错误的mod.
通过执行轻松解决 -
chmod 400 mykey.pem
取自亚马逊的指示 -
您的密钥文件不能公开查看以使SSH正常工作.如果需要,请使用此命令:chmod 400 mykey.pem
Til*_*ill 254
您可能使用错误的用户名登录:
ubuntuec2-userroot或者admin要登录,您需要调整ssh命令:
ssh -l USERNAME_HERE -i .ssh/yourkey.pem public-ec2-host
HTH
小智 61
我知道这是非常晚的游戏......但是这总是对我的作品:
ssh-add ~/.ssh/KEY_PAIR_NAME.pem
ssh user_name@<instance public dns/ip>
例如
ssh ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
希望这有助于某人.
bob*_*obo 37
好男人,唯一对我有用的是:
更改密钥的权限
chmod 400 mykey.pem
确保使用ec2-user和正确的ec2-99 ...地址登录.当您登录并查看列出的实例时,ec2-99地址位于aws控制台的底部
ssh -i mykey.pem ec2-user@ec2-99-99-99-99.compute-1.amazonaws.com
ren*_*ick 27
看看这篇文章.您不使用公共DNS,而是使用表单
ssh -i your.pem root@ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com
名称在AMI面板上可见的位置
小智 14
使用以下命令更改密钥文件的权限:
chmod 400 key-file-name.pem
请参阅AWS文档以连接到实例:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#EC2_ConnectToInstance_Linux
小智 11
请参阅ssh 到 AWS 上的 EC2 实例的说明:
然后,你可以找到“No.3”这样说:
因此,请按照上面的“No.3”所述运行以下命令:
chmod 400 myKey.pem
小智 7
我知道这个问题已经得到了回答,但对于那些已经尝试过这些问题的人来说,你仍然会得到令人讨厌的"Permission denied(publickey)".尝试使用SUDO运行命令.当然这是一个临时解决方案,您应该正确设置权限,但至少可以让您确定当前用户没有以您需要的权限运行(如您所假设的那样)
sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com
一旦你这样做,你会收到这样的消息:
Please login as the user "ec2-user" rather than the user "root"
这也很少记录.在这种情况下,只需这样做:
sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com -l ec2-user
你会得到光荣的:
   __|  __|_  )
   _|  (     /   Amazon Linux AMI
  ___|\___|___|
在Mac终端中,做"chmod 400 xyz.pem"没有帮助我,它一直说许可被拒绝.对于ubuntu用户,我建议
ssh-add xyz.pemssh -i xyz.pem ubuntu@ec2-54-69-172-118.us-west-2.compute.amazonaws.com  (注意用户是ubuntu)ssh -i /.pem user@host-machine-IP
我认为这是因为您输入了错误的凭据,或者您使用的是公钥而不是私钥,或者您的端口权限对所有 ssh 都是开放的。这对亚马逊不利。
SSH 密钥和文件权限最佳实践:
公钥/.pub 文件 - 0600(只能由所有者读写)
chmod XXXX file/directory
小智 5
此错误背后可能有三个原因。
小智 5
除了其他答案之外,为了使其发挥作用,我还做了以下操作:
cp key.pem ~/.ssh/key.pem
chmod 400 ~/.ssh/key.pem
eval `ssh-agent -s`
ssh-add
ssh-add ~/.ssh/key.pem
现在您应该能够通过 ssh 连接 EC2(:
| 归档时间: | 
 | 
| 查看次数: | 449762 次 | 
| 最近记录: |