Файл known_hosts
Что такое Файл known_hosts?
Файл known_hostsФайл клиента OpenSSH (~/.ssh/known_hosts), фиксирующий открытые ключи серверов, чтобы SSH мог обнаружить смену host-key и тем самым возможный MITM.
Файл known_hosts реализует модель trust-on-first-use (TOFU) для идентичности SSH-серверов. При первом подключении пользователь подтверждает fingerprint открытого ключа; OpenSSH сохраняет хост и ключ в known_hosts (системно также существует /etc/ssh/ssh_known_hosts). При последующих подключениях OpenSSH сверяет предъявленный ключ с записью и отказывает в соединении, предупреждая о возможном MITM, если они не совпадают. По умолчанию имена хостов хэшируются (HashKnownHosts yes), поэтому утечка файла не раскрывает список посещённых хостов. Усиленные варианты: серверные сертификаты, подписанные CA (TrustedUserCAKeys / @cert-authority), DNS-записи SSHFP, подписанные DNSSEC (RFC 4255), и StrictHostKeyChecking=yes для отказа от любых интерактивных подтверждений в продакшене.
● Примеры
- 01
OpenSSH выводит 'REMOTE HOST IDENTIFICATION HAS CHANGED!', когда ключ хоста в known_hosts больше не совпадает.
- 02
SSH-сертификаты с записями @cert-authority избавляют от необходимости перечислять сотни серверов поштучно в known_hosts.
● Частые вопросы
Что такое Файл known_hosts?
Файл клиента OpenSSH (~/.ssh/known_hosts), фиксирующий открытые ключи серверов, чтобы SSH мог обнаружить смену host-key и тем самым возможный MITM. Относится к категории Сетевая безопасность в кибербезопасности.
Что означает Файл known_hosts?
Файл клиента OpenSSH (~/.ssh/known_hosts), фиксирующий открытые ключи серверов, чтобы SSH мог обнаружить смену host-key и тем самым возможный MITM.
Как работает Файл known_hosts?
Файл known_hosts реализует модель trust-on-first-use (TOFU) для идентичности SSH-серверов. При первом подключении пользователь подтверждает fingerprint открытого ключа; OpenSSH сохраняет хост и ключ в known_hosts (системно также существует /etc/ssh/ssh_known_hosts). При последующих подключениях OpenSSH сверяет предъявленный ключ с записью и отказывает в соединении, предупреждая о возможном MITM, если они не совпадают. По умолчанию имена хостов хэшируются (HashKnownHosts yes), поэтому утечка файла не раскрывает список посещённых хостов. Усиленные варианты: серверные сертификаты, подписанные CA (TrustedUserCAKeys / @cert-authority), DNS-записи SSHFP, подписанные DNSSEC (RFC 4255), и StrictHostKeyChecking=yes для отказа от любых интерактивных подтверждений в продакшене.
Как защититься от Файл known_hosts?
Защита от Файл known_hosts обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Файл known_hosts?
Распространённые альтернативные названия: ~/.ssh/known_hosts, TOFU хоста SSH.
● Связанные термины
- network-security№ 1089
Типы SSH-ключей
Асимметричные алгоритмы, которые OpenSSH принимает для аутентификации пользователя и хоста: RSA, ECDSA (кривые NIST) и современный стандартный Ed25519.
- network-security№ 1088
Перенаправление SSH-агента
Возможность OpenSSH (-A или ForwardAgent yes), при которой на удалённом хосте создаётся UNIX-сокет, позволяющий командам там использовать локальный SSH-агент для дальнейших подключений.
- network-security№ 345
DNSSEC
Набор расширений DNS, который использует цифровые подписи, чтобы резолверы могли проверить подлинность и целостность DNS-записей.
- network-security№ 1087
SSH
Криптографический сетевой протокол (RFC 4251, порт 22), обеспечивающий аутентифицированный, зашифрованный и целостный удалённый вход, выполнение команд и туннелирование через недоверенную сеть.