SSH bei Zwei-Faktor-Authentifizierung

  • Ich hab mal eine für mich etwas knifflige Frage.

    Und zwar nutze ich für meine Server für den Zugriff per SSH (Putty, WinSCP) die Zwei-Faktor-Authentifizierung via Google Authenticator und gleichzeitig die Authentifizierung über ein Schlüsselpaar. Genau genommen ist es eine Drei-Faktor-Authentifizierung die so greift:


    1. Passendes passwortloses Schlüsselpaar gesendet -->weiter zu 2. sonst Abbruch

    2. Abfrage des Passwortes für den User -->weiter zu 3. sonst Abbruch

    3. Abfrage des OATH-TOTP von Google -->Login, sonst Abbruch


    Das klappt gut und bringt doch ein großes Maß an Sicherheit. Allerdings hat die Sache einen Haken: Wenn ich nun von Server1 auf Server2 (beide Netcup) per SSH oder SFTP zugreifen will, klappt das wegen dem Google Authenticator nicht bzw. nicht automtisch via Batch-File, da natürlich auch hier der Zugang ohne Token von Google verweigert wird. Soweit zu meiner Konstellation. Nun zur Frage:


    Ich möchte alles so lassen, aber festlegen, dass ich per SFTP jeweils auf den anderen Rechner zugreifen kann, ohne dann die Zwei-Faktor-Authentifizierung zu nutzen. Also beispielsweise für ein tägliches automatisches Backup auf den zweiten Server. Wie kann ich in der sshd_conf eine solche Ausnahme definieren? Also einfach festlegen, dass die feste IP des Servers berechtigt ist, auf den Server2 ohne Zwei-Faktor-Authentifizierung zuzugreifen? Geht das. Oder gibt es andere Ideen, wie ich das lösen kann? Zur Info: Beide Server sind zusätzlich auch über VLAN angebunden, vielleicht kann man das Ganze ja auch so konfigurieren, dass beim Zugriff über das Heimnetzwerk die Authentifizierung außer Kraft gesetzt wird... Lieber wäre es mir aber, dass ich feste öffentliche IPs für den Zugriff definieren kann, damit auch meine Server bei anderen ISP den Server zum Backup nutzen können.


    Bye, Mike

  • PasswordAuthentication kannst du in der sshd_config pro IP zum Beispiel so verändern:


    Code
    Match Address 1.2.3.4
        PasswordAuthentication yes

    Genau so sollte die Zeile mit „auth required“ bzw „AuthenticationMethods“ dort pro IP änderbar sein.

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Hey mfnalex,


    habe mir die Methodik mir dem Befehl Match Address mal angeschaut, aber komme nicht weiter. In meiner sshd_config sorgt vermutlich die Zeite


    Code
    AuthenticationMethods publickey,keyboard-interactive

    dafür, dass keine Anmeldung ohne Eingabe des Einmalpasswortes möglich ist. Nehme ich diese Zeile raus, dann ist Google Authenticator generell bei Pubkey-Anmeldung nicht mehr aktiv, was ich ja auch nicht möchte... Wie gesagt, wichtig wäre mir, dass ich nur für bestimmte IPs die Ausnahme erstelle, dass passwortlose Authentifizierung über Publickey möglich wird...

  • Ha, Lösung gefunden!


    Für alle mit demselben Problem: Die Zeile "AuthenticationMethods publickey,keyboard-interactive" legt richtigerweise fest, dass bei der einzig legitimen Anmeldung mit publickey anschließend noch der "normale" Login-Vorgang mit Passwort und OAHT-TOTP von Google anschließt. Von dieser globalen Regel nehme ich anschließend mit

    Code
    Match Address xxx.xxx.xxx.xxx
        AuthenticationMethods publickey

    Vertrauenswürdige IPs aus, die sich dann ohne Google nur mit dem korrekten Schlüssel anmelden dürfen...einfach durch Weglassen der Methode keyboard-interactive und das klappt bei mir :)