如何将Mac终端与EC2实例连接

时间:2016-07-19 20:24:05

标签: amazon-web-services amazon-ec2

我正在使用mac终端,我想用SSH连接我的机器和aws中的服务器实例EC2。由于我使用的是Mac OS X,因此无需使用PUTTY。问题是,当我下载密钥时,它是扩展名.ppk,但是当我需要在终端上运行它时,我需要使用一个命令,我必须使用.pem扩展名。我试图以这种方式运行它,它告诉我许可被拒绝。在这种情况下,有人可以帮助我做什么吗?我是否必须更改权限或将我的密钥从.ppk转换为.ppm?

3 个答案:

答案 0 :(得分:3)

您需要知道下载的.pem文件夹,然后按照以下步骤操作:

  1. 下载密钥对(.pem文件)
  2. cd到密钥对(.pem文件)位置(请注意,您可以使用密钥对的绝对路径名)
  3. chmod 400 [your_key_name] .pem(请注意,要使SSH正常工作,您的密钥不得公开显示。如果需要,请使用此命令。)
  4. ssh -i" [your_key_name] .pem" ec2-user @ [你的ec2 dns名字]

答案 1 :(得分:2)

您必须按照以下步骤将“ppk”文件转换为“pem”文件。

http://www.ramsmusings.com/2014/02/20/converting-a-putty-ppk-file-to-a-pem-file-for-accessing-aws-ec2-instances/

使用SSH命令转换连接到实例并转换为“pem”文件后。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

答案 2 :(得分:0)

快速回答

我会考虑使用 AWS ec2-instance-connect,而不是直接使用 SSH 密钥。

它为您节省了 SSH 密钥的管理工作,并且比在团队成员之间为每台 EC2 机器共享 SSH 密钥更安全。

使用 aws 凭据(通过引用 .aws/config 文件或 using environment variables 中的配置文件)进行身份验证后,您可以通过提供实例 ID 轻松连接到实例:

./bin/mssh <instance-ID>

可以通过 pip 或直接从 github repo 安装此工具。


附加信息

Amazon EC2 Instance Connect 提供了一种使用安全外壳 (SSH) 连接到您的实例的简单且安全的方法。
借助 EC2 Instance Connect,您可以使用 AWS Identity and Access Management (IAM) 策略和原则来控制对您的实例的 SSH 访问,从而无需共享和管理 SSH 密钥。

当您使用 EC2 Instance Connect 连接到实例时,Instance Connect API 会将一次性使用的 SSH 公有密钥推送到实例元数据,并在其中保留 60 秒。附加到您的 IAM 用户的 IAM 策略授权您的 IAM 用户将公钥推送到实例元数据。

SSH 守护进程使用 AuthorizedKeysCommand 和 AuthorizedKeysCommandUser(在安装 Instance Connect 时配置)从实例元数据中查找公钥以进行身份​​验证,并将您连接到实例。

您可以使用 Instance Connect 连接到您的 Linux 实例,并使用

  1. 基于浏览器的客户端,
  2. Amazon EC2 Instance Connect CLI,
  3. 或您选择的 SSH 客户端。

(*) Amazon Linux 2 2.0.20190618 或更高版本以及 Ubuntu 20.04 或更高版本预配置了 EC2 Instance Connect。 对于其他受支持的 Linux 发行版,您必须为每个支持使用 Instance Connect 的实例设置 Instance Connect。这是每个实例的一次性要求。


链接:
Connect using EC2 Instance Connect
Securing your bastion hosts with Amazon EC2 Instance Connect