По умолчанию Debian и Ubuntu (как минимум) устанавливают /etc/ssh/ssh_known_hosts
без разрешения на чтение для других. Какая за этим логика? Я не могу думать о каких-либо угрозах безопасности с o+r
, и, с другой стороны, его общедоступность полезна для файлов, распространяемых администратором.
Я бы сказал, что цель блокирования доступа к этому файлу - не дать злоумышленнику, скомпрометировавшему вашу систему, получить список хостов, к которым у вашей системы есть доступ. Аналогичная логика применима к HashKnownHosts
опция включена по умолчанию в последнее время. Обычно вы не хотите, чтобы ваша система предоставляла все, что нужно злоумышленнику, чтобы получить контроль над всем в вашей сети.
Если вы добавили только хешированные записи в свой /etc/ssh/ssh_known_hosts
Я не думаю, что это действительно будет иметь большое значение, поскольку изменить хеш невозможно.
Если это все еще происходит, значит, это ошибка. ssh использует разрешение пользователя при чтении этого файла, поэтому, если он не доступен для чтения всем, это не имеет никакого эффекта.
Я только что проверил id. Если я установил разрешение / etc / ssh / ssh_known_hosts на 600, тогда ssh отобразит, что «Подлинность хоста ... не может быть установлена».
Если я установлю 644, то смогу войти на удаленный сервер без запроса.
sshd страница руководства четко заявляет, что «Этот файл должен быть доступен для записи только root / владельцу и должен быть доступен для чтения всем».
ssh-ключи не должны передаваться без уважительной причины. / etc / ssh / * - это параметры конфигурации, которые применяются к все пользователей. Файл ssh_known_hosts - это способ указать список известных хостов для всех пользователей, которые входят в это поле. Я считаю, что вы также можете добавить записи в /home/*/.ssh/known_hosts, чтобы назначить «известный» хост конкретному пользователю. Не должно быть проблем с владельцем, имеющим права на чтение ... фактически ... все пользователи должны иметь права на чтение этого файла. Проблема возникает при применении разрешений на запись.
Этот файл используется для идентификации отпечатка удаленного сервера ... поэтому, когда вы подключаетесь по ssh к своему сверхзащищенному серверу ... вы на самом деле подключаетесь ssh к своему серверу ... а не к другому серверу, принадлежащему хакеру. играя человека посередине.