Назад | Перейти на главную страницу

Как проверить, что мой закрытый ключ соответствует паре ключей AWS?

В моем экземпляре AWS говорится, что он настроен на использование единственной пары ключей, которая есть в моей учетной записи, и у него есть отпечаток пальца в формате:

3c: 64: a7: 85: 53: 3f: 81: 1c: 24: 5a: d2: 6a: 5b: 76: 47: da: f3: 14: 63: 88

У меня на компьютере есть файл key.pem. Как проверить, совпадает ли этот pem-файл с указанным выше отпечатком пары ключей, предоставленным AWS?

Я попытался сделать следующее: ssh-keygen -lf key.pem

Это выводит что-то в этом формате: 2048 SHA256: TpL6i8y1uCd26IUVVc5UHFluP7GLKD / T3O1 + K4Pc0qg без комментариев (RSA)

Схема кодирования другая, я не могу сказать, эквивалентны ли они.

Я пытаюсь отладить, почему я не могу подключиться к моему экземпляру по ssh с помощью этого ключа, это первый шаг, который я пытаюсь сделать.

Есть два метода, в зависимости от того, как вы создали свой SSH-ключ, как описано в Проверка отпечатка вашей пары ключей в документации AWS.

Вот мой отпечаток ключа SSH в консоли:

А вот как получить такой же отпечаток из командной строки:

~ $ openssl rsa -in ~/.ssh/aws-sandpit.pem -pubout -outform DER | openssl md5 -c
writing RSA key
(stdin)= ae:ae:56:84:f9:72:c4:d1:0a:b8:e9:3b:ab:d4:a7:00

Если это не соответствует, попробуйте следующее:

~ $ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

Надеюсь, это поможет :)

Исторически, ssh-keygen отображать отпечатки пальцев с использованием хеш-кода MD5 с шестнадцатеричным кодированием. Совсем недавно OpenSSH добавил поддержку и изменил значение по умолчанию на SHA-256 с кодировкой base64.

Вы можете добавить опцию "-E md5"использовать старый формат, но теперь он будет иметь префикс"MD5:".

$ ssh-keygen -lf id_ed25519
256 SHA256:4gU2OwTypjq8lE6CvwTUZYQ6gyRRqXvKsZt1yUAGC2s mnordhoff@jane (ED25519)

$ ssh-keygen -lf id_ed25519 -E md5
256 MD5:41:e3:9f:30:a7:92:66:70:18:18:7d:e7:cd:66:ba:1d mnordhoff@jane (ED25519)