2016-04-04 3 views
-1

Я хочу иметь отпечаток моего файла ключа SSH, который является закрытым ключом (файл PEM).SSH ключ * .pem получить отпечаток?

Я попытался следующие this и that советы:

key=$(ssh-keygen -yf lony.pem) | echo $key | ssh-keygen -lf /dev/stdin <<<"$key" 

причиненный в результате ИНТ этой ошибки:

/dev/stdin is not a public key file.

Ключевой файл выглядит как:

-----BEGIN RSA PRIVATE KEY-----
..
-----END RSA PRIVATE KEY-----

Как я могу получить отпечатки пальцев ?

ответ

3

Есть несколько проблем с этой командой трубопровода:

key=$(ssh-keygen -yf lony.pem) | echo $key | 
ssh-keygen -lf /dev/stdin <<<"$key" 

Во-первых, не ясно, почему вы пытаетесь трубы (|) на стандартный вывод вашего оператора присваивания в echo заявлении. Первый не производит никакого вывода, а второй не потребляет никакого ввода. В третьем компоненте вы передаете команду stdout из команды echo в stdin ssh-keygen ... где вы также находитесь перенаправление stdin с помощью оператора <<<.

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

ssh-keygen -lf /path/to/privatekey.pem 

Например, если мы формируем закрытый ключ:

bash-4.3$ ssh-keygen -f testkey -N '' 

Затем мы можем сравнить выход из этого:

bash-4.3$ ssh-keygen -lf testkey 
2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM [email protected] (RSA) 

Для этого:

bash-4.3$ ssh-keygen -yf testkey | ssh-keygen -lf /dev/stdin 
2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM no comment (RSA) 

И посмотрите, что мы получаем тот же отпечаток пальца обеих команд.

+0

Спасибо, что вы правы! Я просто хотел отпечаток от открытого ключа. Проблема заключается в том, что ваша последняя команда всегда приводит к тому, что «/ dev/stdin не является файлом открытого ключа». – lony

+0

Возможно ли, что AWS использует другой метод отпечатки пальцев? Использование вашего первого метода возвращает другой хеш, как AWS :( – lony

+1

http://serverfault.com/questions/603982/why-does-my-openssh-key-fingerprint-not-match-the-aws-ec2-console- keypair-finger, который решил это – lony

Смежные вопросы