Вход по SSH с контрольным вопросом?

Вход по SSH с контрольным вопросом?

Я не знаю, возможно ли это. Но могу ли я установить что-нибудь или возможно ли создать какой-либо скрипт, который будет выполнен после того, как я войду на свой сервер Ubuntu как root?! Скрипт с Ex, 3 контрольными вопросами

Бывший.

В:Когда твой день рождения?!

А :10.10.10 // if not die ban4Life

Это возможно?! Спасибо, и извините за мой"невежество"

решение1

Предварительная мысль: почему бы вам не придерживаться традиционной аутентификации на основе пароля или, что еще лучше,аутентификация с открытым ключомкак и все остальные? Ваше решение — это, по сути, второй, но более простой для угадывания пароль, хранящийся в виде обычного текста. Пользовательские схемы аутентификации редко повышают, а часто даже снижают безопасность.


Если вам не нравится PAM, вы можете настроить SSH на использование определенного сценария входа для root. Это может выглядеть примерно так:

#!/bin/sh
set -eu

while read -rp 'What is your birthday?!' REPLY
do
    case "$REPLY" in
        '')
            # empty input; ask again
            ;;

        '10.10.10')
            # Run original command if available or simply the user's log-in shell
            exec ${SSH_ORIGINAL_COMMAND-$SHELL -l};;

        *)
            break;;
    esac
done

echo "You're not welcome here. Go away!" >&2
exit 1

Сохраните скрипт, например, как /root/login-with-birthday.sh, сделайте его исполняемым и убедитесь, что обычные пользователи не смогут прочитать файл, поскольку он содержит секрет ( chmod 0700). Затем укажите sshdиспользовать его в качестве команды входа, добавив правило в /etc/ssh/sshd_config:

Match user root
    ForceCommand /root/login-with-birthday.sh

Связанный контент