~ / .ssh / authorized_keys [2] содержит список открытых ключей.
К сожалению, каждый открытый ключ не определяет надежность ключа (количество бит).
Есть ли утилита, которая может обрабатывать этот файл построчно и выводить силу ключа?
Я проверил страницы справочника ssh-keygen
, но похоже, что он будет работать только с закрытыми ключами.
Кроме того, есть ли инструмент, который выводил бы хэш sha1 так же, как он отображается в pageant
инструменте Putty?
Формат, который я ищу:
Key Algorithm Strength Hash Comment
ssh-rsa 2048 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff user1@host1
ssh-rsa 2048 11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:11 user2@host2
ssh-keygen
весь файл целиком. Смотрите мой ответ ниже .Ответы:
ssh-keygen может выполнять основную часть работы (генерировать отпечаток пальца из открытого ключа), но он не будет автоматически обрабатывать список из нескольких ключей, который обычно находится в
authorized_keys
файле.Вот скрипт, который разделяет ключи, передает их в ssh-keygen и создает нужную таблицу:
источник
tmp="$(mktemp -t fingerprint-authkeys)"
должен быть изменен наtmp="$(mktemp -t fingerprint-authkeys.XXX)"
mktemp(1)
нуждаются в Xs: FreeBSD , Mac OS X . Но добавление их не повредит поведению тех, кто в них не нуждается (они просто заканчиваются знаком X перед случайным суффиксом)./home/steve/.scripts/key-strength: line 36: $1: unbound variable
-l
вариант действительно то, что я искал! Тем не менее, невероятно, что вы ничего не можете передать в ssh-keygen и сохранитьMUST
файл на диске.ssh-keygen
заполнить весь файл. Смотрите мой ответ ниже .ssh-keygen
в openssh-7.2 (в настоящее время в Fedora и Ubuntu Xenial по крайней мере) поддерживает чтение нескольких ключей из одного файла. Поэтому работает простоприводит к желаемому результату.
источник
Если у вас есть zsh, вы можете сделать это как однострочник:
источник
экстраполируя из Zsh решение Bash решение
почти ... Это должно работать, но ssh-keygen, похоже, не любит читать напрямую из сгенерированного fd. Используя временный файл для перенаправления <(, он затем работает. Почему?
конечно тогда ты можешь легче написать это и быть счастливым
источник
Скрипт для отображения всех отпечатков пальцев из
authorized_keys
файла, созданного saravana:источник