【发布时间】:2020-06-21 15:32:19
【问题描述】:
我创建了一个 IAM 用户并尝试使用 SSH 连接到它。我已经尝试过 OPenSSH 和 Putty,但无法使用其中任何一个进行连接。
在浏览器中,我使用 root 用户登录。
- 使用以下命令创建密钥对:
ssh-keygen
最后的矩形图说使用了 RSA 2048 , SHA 256 算法。
- 已登录 Amazon Web 控制台。导航到我创建的 IAM 用户并上传使用步骤 1 获取的公钥。
IAM -> User -> Security Credential -> Upload ssh public key.
- OpenSSH 的选项 1
C:\Users>ssh -i "C:\Users\UserName\.ssh\id_rsa" IamUser@awspublicIp
The authenticity of host 'awspublicIp' can't be established.
ECDSA key fingerprint is SHA256:nLBtVuJWST7tf7FJGqjxaNYFGQfJw1z/5U3tOGC9byE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'awspublicIp' (ECDSA) to the list of known hosts.
IamUser@awspublicIp: Permission denied (publickey).
在这里,我将 ECDSA 列为罪魁祸首,不知道这是从哪里挑选出来的。
使用 putty 的选项 2 也不起作用。
Creating or importing a key pair 建议的文档令人困惑。
我使用了以 pem 格式创建 keyPair 的选项。从 OpenSSH 连接时,它显示 Permission denied(public Key)。所以我通过ssh-keygen -y -f "C:\Users\Downloads\test.pem"创建了公钥。
将此公钥上传到 IAM -> 用户 -> 安全凭证 -> 上传 ssh 公钥。 不过,我还是无法连接。
谁能帮我解决这个问题?我现在很困惑,基本上,我想使用 IAM 帐户而不是 Root 进行 SSH 连接到 EC2。
【问题讨论】:
-
您的实际目标是什么?您希望使用密钥对通过 SSH 连接,还是希望使用 IAM 凭证连接到实例?它们是不同的方法。
-
我想使用 IAM 用户而不是 root 用户连接到我的 EC2 实例。我可以使用 IAM 用户的凭证登录到 Web 控制台。我认为 ec2-instance-connect 是 Chris 强调的解决方案。
标签: amazon-web-services amazon-ec2 amazon-iam