Я хочу написать сценарий автоматизации, который устанавливает PasswordAuthentication no
в /etc/ssh/sshd_config
. Однако я не хочу защищаться от блокировки в случае, если я запускаю скрипт при входе в систему через SSH и аутентификацию по паролю. Есть ли способ определить метод аутентификации моего SSH-соединения, когда я уже вошел в систему?
Короткий ответ: если вы включите достаточно высокий уровень ведения журнала, чтобы ssh / sshd сообщал об этой детали до того, как вы начнете процесс, это должно быть тривиально. Если вы еще этого не сделали, это может быть немного сложнее.
По моему опыту, если у вас не запущен / не ведется журнал ssh или sshd с подробным (уровень отладки, возможно?) Выводом, это, вероятно, не фиксируется для каждого события аутентификации или входа в систему. У вас может быть сценарий, который проверяет настройки в файле sshd_conf для вас ... Однако есть небольшая вероятность, что демон, с которым вы взаимодействовали при входе в систему, был запущен вручную с другими параметрами, или, возможно, файл был отредактирован после того, как демон был началось и т. д. Существует множество сценариев «что, если», каждый из которых более маловероятен, чем следующий. Это действительно зависит от размера и объема вашей среды и вашей уверенности в целостности конфигурационных файлов / систем, то есть это ваш собственный кластер узлов vpc, с которыми вы возитесь и учитесь, или это VPC для работы / школы / клуба со многими пользователями и админами?