Как добавить отпечаток SSH в файл known_hosts в Linux

Как добавить отпечаток SSH в файл known_hosts в Linux

5 декабря 2024 г.

Допустим, вы написали скрипт bash, который сканирует все ваши серверы Linux в вашем центре обработки данных на предмет работоспособности. Такой файл может содержать следующее содержимое:

ssh $1 "время безотказной работы"

При запуске вашего скрипта он может быть сорван из-за проблемы, когда он останавливается сервером, который еще не добавил свой SSH-ключ-отпечаток в файл known_hosts. Когда это происходит, ваш скрипт становится бесполезным.

СМ.: Как просмотреть ключи SSH в Linux, macOS и Windows (TechRepublic)

Отпечаток ключа SSH

Что такое отпечаток ключа SSH? Просто: отпечаток ключа проверяется, когда вы пытаетесь войти на удаленный компьютер с помощью SSH. Когда вы впервые входите на сервер SSH, вы увидите что-то вроде того, что показано ниже.

Если вы не примете отпечаток, соединение будет немедленно разорвано. Так что же происходит, когда вы работаете со скриптом bash, который не может принять ввод, чтобы одобрить добавление удаленного отпечатка SSH?

К счастью, разработчики SSH подумали об этом и добавили команду, которая позволяет легко добавлять отпечатки SSH в файл known_hosts.

СМ.: Как создать и скопировать ключи SSH с помощью двух простых команд (TechRepublic)

Добавление отпечатка пальца

Я продемонстрирую добавление отпечатка с удаленного сервера на локальную машину. Допустим, удаленный сервер находится по адресу 192.168.1.162. Чтобы добавить этот отпечаток, команда будет такой:

ssh-keyscan -H 192.168.1.162 >> ~/.ssh/known_hosts

Команда будет запущена и добавит удаленный SSH-отпечаток на локальную машину без вашего участия, как показано ниже.

Как запустить и добавить удаленный SSH-отпечаток на локальную машину. Изображение: Джек Уоллен

Таким образом, дополнение к скрипту bash может выглядеть так:

ssh-keyscan $1 >> ~/.ssh/known_hosts

Вышеуказанное добавление возьмет аргумент из команды (например, ./script 192.168.1.118) и добавит отпечаток в ~/.ssh/known_hosts, прежде чем он перейдет на следующую строку — тем самым избежав проблемы с отсутствующим отпечатком SSH. Конечно, вышеприведенное будет работать правильно только в том случае, если у вас настроена аутентификация по ключу ssh. В противном случае вам придется ввести пароль удаленной машины.

СМ.: Как монтировать удаленные каталоги с помощью SSH (TechRepublic)

Простые вещи

Иногда это простые вещи, которые мешают нашим скриптам bash. Если эта проблема с отпечатком ключа доставляла вам головную боль в ваших скриптах, теперь вы можете ее избежать.

Подпишитесь на рассылку Developer Insider От самых популярных языков программирования до комментариев по ОС Linux — получайте новости и советы от разработчиков и разработчиков с открытым исходным кодом, которые вам нужно знать. Доставка по вторникам и четвергам Адрес электронной почты Подписываясь на нашу рассылку, вы соглашаетесь с нашими Условиями использования и Политикой конфиденциальности. Вы можете отписаться в любое время. Подписаться
Подпишитесь на рассылку Developer Insider От самых популярных языков программирования до комментариев по ОС Linux — получайте новости и советы от разработчиков и разработчиков с открытым исходным кодом, которые вам нужно знать. Доставка по вторникам и четвергам Адрес электронной почты Подписываясь на нашу рассылку, вы соглашаетесь с нашими Условиями использования и Политикой конфиденциальности. Вы можете отписаться в любое время. Подписаться

Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE