Как удалить SSH-ключи одного хоста из known_hosts

Цель нашей компании - предложение широкого ассортимента услуг на постоянно высоком качестве обслуживания.

Как удалить SSH-ключи одного хоста из known_hosts
Задать вопрос
Наши специалисты ответят на любой интересующий вопрос по услуге





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

В вот в случае если удалённый сервер был "официально" заменён на другой, но выполняет ту же роль. Например переустановили операционную систему. В таком случае встаёт проблема: файл known_hosts на Вашей машине содержит ключи от пары сотен машин, в том числе старый ключ от хоста куда Вы хотите подключиться, и Вы каждый раз получаете алерт. В такой ситуации необходимо удалить весь файл known_hosts или же в ручную найти устаревший ключ. В условиях сотен ключей процедура довольно трудоёмкая.

Но существует скрипт, который поможет выйти из этой ситуации. Скрипт выполнит поиск в known_hosts старый ключ хоста и удалит запись о нём и его IP-адресах, сохранив при том остальные записи.

#!/bin/bash
host="$1"
[[ $# -eq 0 ]] && { echo "Использование: $0 имя.хоста"; exit 1;}
ips=$(host "$host" | awk -F'address' '{ print $2}' | sed -e 's/^ //g')
ssh-keygen -R "$host"
for i in $ips
do
ssh-keygen -R "$i"
done

Создаём в текстовом редакторе новый документ, вставляем код, сохраняем с именем "name.sh". Сохраняем, даём права на выполнение. Запускаем с параметром: "name.sh имя_хоста_для_удаления".

:)
Заказать услугу
Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.