В моем экземпляре 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)