我在使用 .pem 通过 SSH 连接到 AWS EC2 时遇到问题
I have a problem connecting to AWS EC2 via SSH with .pem
我在 .pem 所在的目录中使用了以下命令来使用 Chrome 扩展,安全 Shell。
$ sudo chmod 400 myKeyPair.pem
$ ssh-keygen -y -f myKeyPair.pem > myKeyPair.pub
$ touch myKeyPair
$ sudo cat myKeyPair.pem > myKeyPair
它在安全 Shell 扩展中完美运行。
然后我删除了所有文件并创建了一个新的密钥对(同名)。我通过 MacOS 终端 ssh。然而,这会导致"Permission denied (publickey)."我认为.pem是一个新文件,但之前的命令似乎仍然有效。
如何在 public 密钥转换和 SSH 连接之前通过单个 .pem 运行 现有的 .pem?
啊!我还有另一个完全不同的问题。例如,在AWS Marketplace中通过WordPress AMI创建EC2并写了一个post,这是存储在EBS中吗?
提前感谢所有回答的人。
生成密钥对时,它包含一个随机密钥。因此,每次生成的密钥对都是不同的。密钥对的实际 名称 无关紧要。
因此,如果您执行以下操作:
- 创建密钥对
- 启动提供该密钥对的 EC2 实例
- 删除密钥对
那么您将永远无法登录该实例,因为您不再拥有启动该实例时使用的密钥对。
实际发生的是,当启动实例时,实例上的一些代码将密钥对的 public 一半 复制到 /users/ec2-user/.ssh/authorized_keys
文件.然后,当有人尝试使用密钥对的私有部分登录时,Linux 会比较密钥对的两半。如果它们匹配,则允许用户登录。
我在 .pem 所在的目录中使用了以下命令来使用 Chrome 扩展,安全 Shell。
$ sudo chmod 400 myKeyPair.pem
$ ssh-keygen -y -f myKeyPair.pem > myKeyPair.pub
$ touch myKeyPair
$ sudo cat myKeyPair.pem > myKeyPair
它在安全 Shell 扩展中完美运行。
然后我删除了所有文件并创建了一个新的密钥对(同名)。我通过 MacOS 终端 ssh。然而,这会导致"Permission denied (publickey)."我认为.pem是一个新文件,但之前的命令似乎仍然有效。
如何在 public 密钥转换和 SSH 连接之前通过单个 .pem 运行 现有的 .pem?
啊!我还有另一个完全不同的问题。例如,在AWS Marketplace中通过WordPress AMI创建EC2并写了一个post,这是存储在EBS中吗?
提前感谢所有回答的人。
生成密钥对时,它包含一个随机密钥。因此,每次生成的密钥对都是不同的。密钥对的实际 名称 无关紧要。
因此,如果您执行以下操作:
- 创建密钥对
- 启动提供该密钥对的 EC2 实例
- 删除密钥对
那么您将永远无法登录该实例,因为您不再拥有启动该实例时使用的密钥对。
实际发生的是,当启动实例时,实例上的一些代码将密钥对的 public 一半 复制到 /users/ec2-user/.ssh/authorized_keys
文件.然后,当有人尝试使用密钥对的私有部分登录时,Linux 会比较密钥对的两半。如果它们匹配,则允许用户登录。