Это для удобства, из ssh-keygen
Страница man на Debian:
Для ключей RSA1 в файле ключей также есть поле комментария
только для удобства пользователя
помогите определить
ключ. Комментарий может сказать, для чего нужен ключ или что
полезно. Комментарий инициализируется
«Пользователь @ хост»
когда ключ создан, но может быть изменен с помощью опции -c.
Я думаю, что ближайший, который вы получите для определения того, какой ключ использовался для входа, ssh-add
, с -L, со страницы руководства:
-L Перечисляет параметры открытого ключа всех идентификаторов, представленных в настоящее время агентом.
Вы Можно увеличьте уровень регистрации демона ssh до DEBUG1:
LogLevel DEBUG1
И журнал покажет отпечаток RSA ключа SSH, используемого для входа в систему:
Aug 13 08:52:56 ubuntu_test sshd[17115]: debug1: matching key found: file /home/username/.ssh/authorized_keys, line 1
Aug 13 08:52:56 ubuntu_test sshd[17115]: Found matching RSA key: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Вы можете получить отпечаток ключа с ssh-keygen
:
-l Показать отпечаток указанного файла открытого ключа. Частные ключи RSA1 также поддерживаются. Для RSA
и DSA-ключи ssh-keygen пытается найти соответствующий файл открытого ключа и печатает его отпечаток.
В сочетании с -v, ASCII-изображение ключа предоставляется вместе с отпечатком пальца.
Из файла авторизованных ключей вам придется разделить каждую строку на новый файл для чтения с ssh-keygen -l
, Вот пример сценария Ruby, который сделает это:
#!/usr/bin/env ruby
File.open("/home/username/.ssh/authorized_keys").each do |l|
file_name = l.split(" ")[2]
key_file = File.new("#{file_name}.pub_key", "w")
key_file.puts l
key_file.close
puts %x{ssh-keygen -l -f #{file_name}.pub_key}
end