我通过.pem通过SSH连接到AWS EC2时遇到问题

时间:2019-05-05 14:40:32

标签: amazon-web-services amazon-ec2 key-pair

我在.pem所在的目录中使用以下命令来使用Chrome扩展程序安全外壳。

$ sudo chmod 400 myKeyPair.pem

$ ssh-keygen -y -f myKeyPair.pem > myKeyPair.pub

$ touch myKeyPair

$ sudo cat myKeyPair.pem > myKeyPair

它在Secure Shell扩展程序中完美运行。

然后我删除了所有文件并创建了一个新的密钥对(具有相同的名称)。然后,我通过MacOS终端SSH。但是,这将导致“权限被拒绝(公钥)”。我认为.pem是一个新文件,但以前的命令似乎仍然有效。

在通过单个.pem进行公钥转换和SSH连接之前,如何运行现有的.pem?

啊!我还有另一个完全不同的问题。例如,在AWS Marketplace中通过WordPress AMI创建EC2并撰写帖子后,该帖子是否存储在EBS中?

在此先感谢所有回答的人。

1 个答案:

答案 0 :(得分:0)

生成密钥对时,它包含一个随机密钥。因此,每次生成密钥对时,密钥对都是不同的。密钥对的实际名称不相关。

因此,如果您执行以下操作:

  • 创建密钥对
  • 启动提供该密钥对的EC2实例
  • 删除密钥对

然后,您将永远无法登录到该实例,因为您不再拥有启动该实例时使用的密钥对。

实际发生的情况是,启动实例时,实例上的某些代码会将密钥对的公共部分复制到/users/ec2-user/.ssh/authorized_keys文件中。然后,当有人尝试使用密钥对的私密部分登录时,Linux比较密钥对的两半。如果它们匹配,则允许用户登录。