SSH-Anmeldung mit Sicherheitsfrage?

SSH-Anmeldung mit Sicherheitsfrage?

Ich weiß nicht, ob das möglich ist. Aber kann ich irgendetwas installieren oder ist es möglich, ein Skript zu erstellen, das ausgeführt wird, nachdem ich mich als Root bei meinem Ubuntu-Server angemeldet habe?! Ein Skript mit Beispiel, 3 Sicherheitsfragen

Ex.

Q :Wann hast du Geburtstag?!

A :10.10.10 // if not die ban4Life

Ist das möglich?! Danke, und entschuldige meine"Ignoranz"

Antwort1

Ein Gedanke vorab: Warum bleiben Sie nicht bei der traditionellen passwortbasierten Authentifizierung oder noch besserPublic-Key-Authentifizierungwie alle anderen? Ihre Lösung ist im Grunde ein zweites, aber leichter zu erratendes Passwort, das im Klartext gespeichert ist. Benutzerdefinierte Authentifizierungsschemata erhöhen die Sicherheit selten und verringern sie oft sogar.


Wenn Sie PAM nicht mögen, können Sie SSH so konfigurieren, dass ein bestimmtes Anmeldeskript für verwendet wird root. Das könnte etwa so aussehen:

#!/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

Speichern Sie das Skript z. B. als /root/login-with-birthday.sh, machen Sie es ausführbar und stellen Sie sicher, dass normale Benutzer die Datei nicht lesen können, da sie ein Geheimnis enthält ( chmod 0700). Weisen Sie dann an, sshdes als Anmeldebefehl zu verwenden, indem Sie eine Regel hinzufügen /etc/ssh/sshd_config:

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

verwandte Informationen