セキュリティの質問で SSH ログインしますか?

セキュリティの質問で SSH ログインしますか?

これが可能かどうかはわかりません。しかし、Ubuntu Serverにルートとしてログインした後に実行されるスクリプトをインストールしたり、作成したりすることはできますか?たとえば、3つのセキュリティの質問を含むスクリプト

元。

質問:あなたの誕生日は何ですか?!

答:10.10.10 // if not die ban4Life

これは可能ですか?!ありがとうございます。"無知"

答え1

事前に考えておくべきこと: 従来のパスワードベースの認証に固執しないのはなぜか、あるいはもっと良いのは公開鍵認証他の人と同じように? 解決策は、基本的に、推測しやすい 2 番目のパスワードをプレーン テキストで保存することです。カスタム認証スキームによってセキュリティが向上することはめったになく、セキュリティが低下することさえあります。


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

関連情報