如何登录新的 EC2 实例

如何登录新的 EC2 实例

尝试使用 CentOS7 连接

我使用 terraform 部署了几个 EC2 实例,现在尝试登录。

aws2 ec2-instance-connect send-ssh-public-key --instance-id i-0788274a4861154d44 --availability-zone us-east-2 --instance-os-user ec2-user --ssh-public-key file:/aws_ssh/my_rsa_key.pub

Parameter validation failed:
Invalid length for parameter SSHPublicKey, value: 42, valid range: 256-inf

我也尝试过这个命令

ssh-keygen -t rsa -f my_rsa_key -b 1024

仍然出现相同的错误。

我对此很陌生,希望您能给予尽可能多的帮助。

答案1

使用此命令连接..您尝试使用第一个命令连接实例...

aws ec2-instance-connect send-ssh-public-key --region us-east-1 --instance-id i-0989ec3292613a4f9 --availability-zone us-east-1 --instance-os-user ec2-user --ssh-public-key file://mynew_key.pub

身份验证后,公钥将通过实例元数据提供给实例 60 秒。在此期间,使用关联的私钥连接到实例

ssh -i 我的新密钥 [电子邮件保护]

如果由于某种原因您未在 60 秒内连接,则会看到以下错误:

ssh -i 我的新密钥[电子邮件保护] 权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic)。

答案2

send-ssh-public-key 仅支持

  1. Amazon Linux 2(任意版本)
  2. Ubuntu 16.04 或更高版本

参见此文档:https://docs.amazonaws.cn/en_us/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html

答案3

我不知道为什么...?但在对语法进行以下更改后,问题得到了解决。

文件:/ 通过文件:///

aws2 ec2-instance-connect send-ssh-public-key --instance-id i-0788274a4861154d44 --availability-zone us-east-2 --instance-os-user ec2-user --ssh-public-key 文件:/aws_ssh/my_rsa_key.pub

aws2 ec2-instance-connect send-ssh-public-key --instance-id i-0788274a4861154d44 --availability-zone us-east-2 --instance-os-user ec2-user --ssh-public-key file:///aws_ssh/my_rsa_key.pub

{
    "RequestId": "dd452b0f-89c3-4a01-82ea-c6a55934ec3f",
    "Success": true
}

相关内容