尝试使用 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 仅支持
- Amazon Linux 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
}