#amazon-ec2 #ssh
#amazon-ec2 #ssh
Вопрос:
Я хочу импортировать ключ ECDSA в AWS EC2. Правда ли, что AWS EC2 импортирует только ключи RSA, а не ключи ECDSA или ED25519? Если есть способ импортировать ключ ECDSA, как это можно сделать?
# Discover the apt package that provided ssh-keygen
$ apt-file search `which ssh-keygen`
openssh-client: /usr/bin/ssh-keygen
openssh-client-ssh1: /usr/bin/ssh-keygen1
# Discover the installed version of openssh-client
$ apt list openssh-client
Listing... Done
openssh-client/groovy,now 1:8.3p1-1 amd64 [installed,automatic]
# Make a new key pair
$ ssh-keygen -b 521 -f ~/.ssh/key2020-10-28 -P "" -t ecdsa
# Import the new key pair
$ aws ec2 import-key-pair --key-name key2020-10-28
--public-key-material fileb://~/.ssh/key2020-10-28.pub
#An error occurred (InvalidKey.Format) when calling the ImportKeyPair operation:
#Key is not in valid OpenSSH public key format
# Try again with a base64 encoded key:
$ base64 ~/.ssh/key2020-10-28.pub > ~/.ssh/key2020-10-28.pub.b64
$ aws ec2 import-key-pair --key-name key2020-10-28
--public-key-material fileb://~/.ssh/key2020-10-28.pub.b64
# An error occurred (InvalidKey.Format) when calling the ImportKeyPair operation:
# Key is not in valid OpenSSH public key format
Затем я попробовал старый алгоритм ключа RSA, который сработал:
ssh-keygen -b 4096 -f ~/.ssh/ec2 -P "" -N "" -t rsa
aws ec2 import-key-pair --key-name rsa2020-10-28
--public-key-material fileb://~/.ssh/rsa2020-10-28.pub
{
"KeyFingerprint": "c9:32:25:36:fd:b8:a0:83:09:1b:56:6f:86:a1:18:4e",
"KeyName": "rsa2020-10-28",
"KeyPairId": "key-04ebd4202d5988526"
}
Затем я попробовал старый и небезопасный алгоритм ключа DSA:
ssh-keygen -f ~/.ssh/dsa2020-10-28 -P "" -t dsa
aws ec2 import-key-pair --key-name dsa2020-10-28
--public-key-material fileb://~/.ssh/dsa2020-10-28.pub
An error occurred (InvalidKey.Format) when calling the ImportKeyPair operation:
Key is not in valid OpenSSH public key format
Затем я попробовал алгоритм ключа ed25519:
ssh-keygen -f ~/.ssh/ed25519-2020-10-28 -P "" -t ed25519
aws ec2 import-key-pair --key-name dsa2020-10-28
--public-key-material fileb://~/.ssh/ed25519-2020-10-28.pub
An error occurred (InvalidKey.Format) when calling the ImportKeyPair operation:
Key is not in valid OpenSSH public key format
Комментарии:
1. в документации указано описание: Импортирует открытый ключ из созданной вами пары ключей RSA….
2. Так и есть! Спасибо
Ответ №1:
Теперь вы можете использовать ключи ED25519 для экземпляров EC2 в соответствии с этим объявлением.
Ответ №2:
Как правильно говорит @dave_thompson_085, в документации AWS говорится Описание: Импортирует открытый ключ из созданной вами пары ключей RSA