Отпечаток пальца основан на открытом ключе хоста, обычно на основе "/etc/ssh/ssh_host_rsa_key.pub". Как правило, для легкой идентификации / проверки хоста, к которому вы подключаетесь.
Если отпечаток пальца изменяется, компьютер, к которому вы подключаетесь, изменил свой открытый ключ. Это может быть не плохо (происходит после переустановки ssh), но это также может указывать на то, что вы подключаетесь к другому компьютеру с тем же доменом / IP (происходит, когда вы подключаетесь через что-то вроде балансировщика нагрузки) или что вы подвергаются атаке «человек посередине», когда злоумышленник каким-то образом перехватывает / перенаправляет ваше ssh-соединение для подключения к другому хосту, который может отслеживать вашего пользователя / pw.
Итог: если вас предупреждают об изменении отпечатка пальца, будьте осторожны и дважды проверьте, действительно ли вы подключаетесь к правильному хосту через безопасное соединение. Хотя в большинстве случаев это безвредно, это может быть признаком потенциальной проблемы.
Смотрите: http://www.lysium.de/blog/index.php?/archives/186-How-to-get-ssh-server-fingerprint-information.html
и: http://en.wikipedia.org/ вики / Public_key_fingerprint
~/.ssh/known_hosts
. Таким образом, когда вы подключаетесь к серверу, ваш SSH-клиент распознает этот сервер, поскольку вы сохранили его открытый ключknown_hosts
. Следовательно, на самом деле вы никогда не должны говорить «да», когда клиент SSH говорит вам: «Подлинность хоста не может быть установлена». Вы должны всегда добавлять открытый ключ сервера заранее.~/.ssh/known_hosts
заранее добавлять открытый ключ сервера в ваш файл и никогда не говорить «да», когда ваш SSH-клиент говорит вам «Подлинность клиента не может быть установлена» или когда он говорит вам «Открытый ключ сервера был измененное».Вы можете создать отпечаток для открытого ключа, используя
ssh-keygen
так:Конкретный пример (если вы используете открытый ключ RSA):
Первая часть
(2048)
- это длина ключа в битах, вторая часть(00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff)
- это отпечаток открытого ключа, а третья часть - это местоположение самого файла открытого ключа.источник
ssh-keygen -lf
сделаю что хочешь.ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
. Он показывает отпечаток, который также отображается при входе в систему SSH на localhost.ssh-keygen
зарегистрированныеsha256
отпечатки пальцев. Чтобы получитьmd5
отпечатки пальцев, я побежалssh-keygen -l -E md5 -f ~/.ssh/id_rsa.pub
. #archlinuxssh -o FingerprintHash=md5
или эквивалент вssh_config
и на вещи, которые используют,ssh
какscp
.Отпечаток пальца - это MD5 поверх двоичных данных в открытом ключе в кодировке Base64.
Md5sum 6530389635564f6464e8e3a47d593e19 - это отпечаток, отображаемый при создании ключа, только без разделительных двоеточий.
Однако, если вы имеете дело с отпечатками пальцев, которые Amazon показывает в консоли пар ключей EC2, к сожалению, это может быть другой зверь . Если это шестнадцатеричная строка из 32 цифр, то это стандартный отпечаток открытого ключа SS5 MD5, указанный выше. Но если это 40 шестнадцатеричных цифр, это на самом деле отпечаток пальца, вычисленный путем взятия SHA1 закрытого ключа в формате PKCS # 8:
источник
awk '{print $2}' /path/to/keyfile.pub
или аналогичном.cat id_rsa.pub | cut -d' ' -f2 | base64 -d | md5sum
Если вы хотите проверить файл ключа SSH, чтобы увидеть, совпадает ли он с тем, что github сообщает как «Deploy key», это для вас ...
С частного URL: https://github.com/<username>/<repo_name>/settings/keys вы увидите
На терминале:
Вы заметите, что вы получаете одинаковые отпечатки как для закрытых, так и для открытых ключей.
Эту же команду можно объединить с удобной функцией GitHub, которая заключается в том, что они публично обслуживают открытые ключи пользователей SSH по адресу https://github.com/<username>.keys.
Вот одна строка, которую вы можете использовать, чтобы воспользоваться ею.
источник
Выводит отпечатки пальцев для всех настроенных открытых ключей на экземпляре sshd.
Затем они могут быть помещены в записи DNS SSHFP .
источник