1

Я хочу защитить файл known_host от записи. Поэтому я хочу выполнить следующие шаги на моем сервере Red-Hat Linux.

Cp /dev/null   /root/.ssh/known_hosts
chattr +i /root/.ssh/known_hosts

Я хочу, чтобы, потому что я хочу предотвратить неудачный вход в систему на любой целевой машине, и потому, что иногда мы получаем предупреждение - Ошибка идентификации удаленного хоста и ошибка входа в систему

Но я не уверен, что мое решение (защита писем на known_host) является хорошей идеей и что негативно влияет на систему Linux?

Или, может быть, это решение является хорошим решением для сохранения файла known_host пустым?

Что думают здесь участники?

1 ответ1

1

ИМХО Это не очень хорошая идея (см. Ниже).

Следующая команда удалит нарушающий ключ вашего хоста из known_hosts

  ssh-keygen -R <host>

например, ssh-keygen -R my_old_client

Почему это не очень хорошая идея, можно поспорить из man ssh (поиск вниз можно прочитать):

Кроме того, сервер должен иметь возможность проверять ключ хоста клиента (см. Описание /etc /ssh /ssh_known_hosts и ~ /.ssh /known_hosts ниже), чтобы разрешить вход в систему. Этот метод аутентификации закрывает дыры в безопасности из-за спуфинга IP-адресов, спуфинга DNS и спуфинга маршрутизации. [Примечание для администратора: /etc/hosts.equiv, ~ /.rhosts и протокол rlogin /rsh в целом небезопасны и должны быть отключены, если требуется безопасность.]


Еще несколько слов: если ssh подсказывает вам, что ключ компьютера обычно меняется, то это потому, что вы переустановили ssh на этом компьютере или, возможно, вы принудительно перестроили ключи. Однако это больше не ключ ssh, который использовался в прошлый раз ... это может быть другой компьютер, который пытается получить эту идентичность. Если вы уверены, что это тот же компьютер, вы можете удалить / обновить поврежденный ключ и продолжить.

Всегда от man ssh о том, как это работает:

ssh автоматически поддерживает и проверяет базу данных, содержащую идентификацию для всех хостов, с которыми она когда-либо использовалась.
Ключи хоста хранятся в ~/.ssh/known_hosts в домашнем каталоге пользователя. Кроме того, файл /etc/ssh/ssh_known_hosts автоматически проверяется на наличие известных хостов. Любые новые хосты автоматически добавляются в файл пользователя. Если идентификация хоста когда-либо изменяется, ssh предупреждает об этом и отключает аутентификацию по паролю, чтобы предотвратить подделку сервера или атаки «человек посередине», которые в противном случае могли бы использоваться для обхода шифрования.

Параметр StrictHostKeyChecking можно использовать для управления входами в систему на компьютерах, ключ хоста которых неизвестен или изменился.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .