Возможно ли и возможно ли настроить Linux-сервер так, чтобы он сначала запрашивал действительный ключевой файл перед запросом учетных данных локальной учетной записи пользователя? Наша установка такова, что мы должны открыть ssh на машине с выходом в Интернет, но есть только два человека, которым нужно будет использовать ssh. Мы хотим как можно сильнее запереть этого плохого парня. Мы уже внедряем обычный брандмауэр, denyhosts и т. Д., Но если это возможно, я бы тоже хотел добавить его. Все ответы приветствуются!
Из того, что я обнаружил, коммерческий сервер SSH2, теперь Tectia SSH Server поддерживает RequiredAuthentications
config, который делает именно то, что вы хотите.
Проверить страница руководства для sshd_config чтобы узнать, какие варианты доступны. HostBasedAuthentication выглядит многообещающим.
Если вы не можете найти то, что вам нужно (и даже если можете), вы можете заблокировать то, что можно делать на машине, потребовав использования sudo для многих функций - которые можно настроить так, чтобы требовать пароль, регистрировать все это будет сделано, и ИМХО должно быть установлено по крайней мере по умолчанию на любом сервере Linux, который вы используете.
См., Конечно, справочную страницу для sudo и sudoers, но также есть хорошее обсуждение моя любимая страница по защите серверов Linux
Если ваши ключи SSH уже имеют парольную фразу (а они должны), то вы уже делаете двухфакторный, и IMO, добавление пароля локальной учетной записи в этот процесс не даст вам ничего, кроме раздраженных пользователей.
Если вы намерены разрешить только этим двум пользователям входить через SSH, вы можете использовать функции конфигурации AllowGroups и / или AllowUsers в вашем sshd_config.