我可以访问 EC2 的控制台面板。存在一个密钥对(由某人先前创建)。
我创建了第二个密钥对,然后尝试SSH
进入 ec2 实例。以下是发生的情况:
PREMIEREs-Mac-Pro:.ssh Premier_032$ ssh -i ~/.ssh/david.pem [email protected]
Permission denied (publickey).
我需要做什么才能在SSH
这里进入 EC2,并且ubuntu
用户名是正确的(我也尝试过root
,但也没有用)。
答案1
将密钥对添加到 EC2 不会将其添加到正在运行的实例中。EC2 仅在启动实例时安装密钥对。您需要获取用于启动实例的密钥对,或者让启动实例的人将您的公钥添加到文件中/home/ubuntu/.ssh/authorized_keys
。
答案2
我很确定正在运行的实例不会安装您添加到帐户的新公共 SSH 密钥。您需要启动一个新实例,然后选择要用于访问它的密钥。
很难说用户名是什么。这取决于 AMI。
答案3
如果您需要访问该特定实例,则可能存在一种解决方法。您将需要访问 AWS Web 控制台,并且该实例需要是 EBS 后端实例。您需要做的是;
- 停止正在运行的实例。(不要终止它,只是暂时关闭它)
- 从实例中解除 EBS 后端
- 创建一个新的 EC2 实例。
- 在新系统上,创建挂载点 /mnt/oldsystem
- 将旧实例的 EBS 后端附加到新实例并将其挂载为 /mnt/oldsystem
您现在应该可以访问旧实例的文件系统。导航到您要登录的用户帐户,假设您帖子中的 ubuntu,然后将您的新 ssh 密钥添加到 .ssh/authorized_keys 文件(路径应为 /mnt/oldsystem/home/ubuntu/.ssh/authorized_keys)
完成后,卸载 /mnt/oldsystem 并解除 EBS 后端的连接。现在您可以将 EBS 重新连接到原始实例,启动实例,然后您现在应该能够使用 SSH 密钥登录帐户。