ฉันมีอินสแตนซ์ ec2
ฉันสามารถเชื่อมต่อกับอินสแตนซ์นั้นโดยใช้คำสั่ง aws cli แทนการใช้ ssh กับไฟล์ pem คีย์ส่วนตัวได้หรือไม่
จุดประสงค์ของฉันคือการเชื่อมต่อกับอินสแตนซ์ ec2 หากผู้ใช้เพียงแค่ระบุ ec2 instanceid หรือ public ip
หากพวกเขาระบุ ID ของอินสแตนซ์ ฉันสามารถดึง IP สาธารณะโดยใช้คำสั่งด้านล่าง
aws ec2 อธิบายอินสแตนซ์ --instance-ids i-0d577af80725c9a91 --query 'Reservations[*].Instances[*].PublicIpAddress' --output text --profile testsubaccount --region us-east-1
ฉันไม่พบขั้นตอนใดๆ ดังนั้นฉันคิดว่าจะสร้างคีย์ ssh ที่รันไทม์บนเครื่องอัตโนมัติและใช้สิ่งนั้น ดังนั้นฉันจึงลองทำสิ่งนี้ ลิงค์
aws ec2-instance-connect send-ssh-public-key --instance-id i-0d577af80725c9a91 --instance-os-user ec2-user --ssh-public-key file://.ssh/id_rsa.pub -- โปรไฟล์ testsubaccount --region us-east-1
ได้ผลลัพธ์ด้านล่าง
{
"รหัสคำขอ": "2e261407-e8fe-46e6-b6b6-2f27c41a0f5c",
"ความสำเร็จ": จริง
}
แต่เมื่อฉันพยายามเชื่อมต่อ ฉันถูกปฏิเสธการเข้าถึง
ssh -o "IdentitiesOnly=yes" -i .\.ssh\id_rsa [email protected]
[email protected]: ปฏิเสธการอนุญาต
(คีย์สาธารณะ, gssapi-keyex, gssapi-with-mic)