如何为Amazon EC2实例设置SSH访问?

Bet*_*ide 87 ubuntu amazon-ec2 ubuntu-10.04

我需要SSH访问运行Ubuntu 10.4的Amazon EC2实例.我得到的只是亚马逊的用户名和密码.有任何想法吗?

Rak*_*kar 159

基本上,您需要一个私钥文件才能通过SSH登录EC2.请按照以下步骤创建一个:

  • 访问https://console.aws.amazon.com/ec2/home并登录到您现有的亚马逊帐户.
  • 点击LHS或https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs上的"密钥对" .
    • 您应该看到由您(或在EC2创建过程中)生成的KEY列表.
    • 如果您没有看到任何私钥,请单击"创建密钥对".
    • 输入唯一名称并按Enter键.
    • 将出现一个下载面板供您保存私钥,保存.
    • 使用文件权限"0600"将其保留在某个位置
  • 点击LHS上的"实例"或https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Instances
    • 您应该看到ec2-instances列表,如果您没有看到,请创建一个.
    • 单击EC2计算机并记下公共DNS地址.
  • 打开终端(在Linux中)并键入以下命令
    • ssh -i /path/to/private-key root@<ec2-public-dns-address>- 根据您的分发选择ec2-userubuntu用户名,在最新版本中避免使用root用户名.
    • 按Enter键
    • 而已.

  • 您可能无法直接通过ssh以root用户身份登录.您必须使用非root帐户,例如_ec2-user_ so ssh -i/path/to/private-key ec2-user @ hostname (6认同)
  • 仍然得到这个按摩"Permission denied(publickey)." 这是为什么? (5认同)
  • 一旦我尝试连接它告诉我,我应该使用`ubuntu`登录而不是`root`.显然我有ubuntu服务器12.04实例. (4认同)
  • 我成功创建了SSH帐户,接下来是如何使用创建的帐户使用SCP上传文件??? 当我尝试使用SCP上传时,它会显示"Permission denied(publickey)". (3认同)
  • 大家都得到“权限被拒绝(公钥)”。可能正在使用Elastic Beanstalk。如果是这样,则需要进入EB env Config(安全性),然后选择新的密钥对。将创建接受密钥的新EC2实例。用户名是“ ec2-user”或“ ubuntu”,但不是“ root”。 (2认同)

Sha*_*zam 25

ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
Run Code Online (Sandbox Code Playgroud)

只是用ubuntu而不是root.你的问题将得到解决.干杯!


pra*_*upd 11

步骤1)下载分配给ec2机器的私钥 (创建时只下载一次.所以建议在某处提交)

步骤2)并点击命令,

chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

官方文档:使用SSH连接到Linux/Unix实例


Mai*_*guy 7

注意,13.04的当前用户是"ubuntu"ssh -i ./mykey.pem ubuntu@ec2-xxx-xxx-xxx-1.compute-1.amazonaws.com