AWS EC2 не будет импортировать ключ OpenSSH ECDSA

#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