Authentifizierungsbestellung mit SSH


21

Wenn ich mich über ssh anmelde, -vsehe ich, dass ssh auf folgende Weise authentifiziert

debug1: Authentications that can continue: publickey,gssapi-with-mic,password,hostbased

Ich möchte die Reihenfolge ändern ... irgendeine Idee wie?

Mein größeres Problem ist, dass Benutzer mit gesperrten Konten sich weiterhin über öffentliche Schlüssel anmelden können. Ich habe festgestellt , dass ich den Benutzer zu einer Gruppe „ssh-locked“ hinzufügen könnte hinzufügen , dass Gruppe verweigern aus sshing, aber ich bin immer noch fragen , ob es einen Weg ssh'd zu sagen ist: Überprüfen Sie bitte Passwort vor Schlüssel ...


1
Ich denke, Sie nähern sich dem falsch - Schlüssel sind (normalerweise) sicherer als Passwörter. Wenn das Konto gesperrt ist, müssen Sie dem sshd-Daemon mitteilen, dass der Benutzer sich unabhängig von der Authentifizierungsmethode nicht anmelden darf.
— EightBitTony

Wie gesagt, ich habe über DenyGroups eine Lösung gefunden. Ich bitte es um Interesse.
— Oz123

Antworten:


30

Der SSH-Server entscheidet, welche Authentifizierungsoptionen er zulässt. Der SSH-Client kann so konfiguriert werden, dass er entscheidet, in welcher Reihenfolge er sie versucht.

Der ssh-Client verwendet die PreferredAuthenticationsOption in der ssh-Konfigurationsdatei, um dies zu ermitteln.

Von man ssh_config( siehe online hier ):

PreferredAuthentications
             Specifies the order in which the client should try protocol 2 authentication methods.  This allows a client to prefer
             one method (e.g. keyboard-interactive) over another method (e.g. password).  The default is:

                   gssapi-with-mic,hostbased,publickey,
                   keyboard-interactive,password

Ich glaube nicht, dass es möglich ist, ohne mit der Quelle zu spielen, den OpenSSH-Server anzuweisen, eine bestimmte Reihenfolge zu bevorzugen - wenn man darüber nachdenkt, macht es sowieso keinen Sinn.


Wenn Sie Git Bash für Windows verwenden, speichern Sie Ihre SSH-Konfiguration auf~/.ssh/config
— Spencer Williams

Die Reihenfolge kann sinnvoll sein, wenn eine Methode von einer vorherigen abhängt. Zum Beispiel kann 2FA unter keyboard-interactive davon abhängen, dass der Benutzer zuerst ein gültiges Passwort eingegeben hat.
— Steveayre

Können Sie eine Quelle angeben, aus der Sie die oben genannten PreferredAuthentications-Informationen kopiert haben? Ich sehe es man sshweder in /etc/ssh/ssh_confignoch in noch in /etc/ssh/sshd_config. Woher hast du diese Informationen?
— Gabriel Staples

Fand es! Es war in man ssh_config. Ich habe eine Bearbeitung zur Überprüfung eingereicht, um Ihre Antwort so zu aktualisieren, dass sie diese Quelle enthält. Bitte zitieren Sie beim nächsten Mal Quellen! Danke vielmals.
— Gabriel Staples

18

Dies hinzufügen:

PreferredAuthentications keyboard-interactive,password,publickey,hostbased,gssapi-with-mic

... zu meinem /etc/ssh/ssh_confighat mir geholfen, das zu lösen, und auch viel Zeit gespart!

Sie können überprüfen, ob dies funktioniert, indem Sie den ssh -v user@hostBefehl zum Verbinden verwenden, wobei -v"verbose" bedeutet.


2
Stellen Sie sicher, dass Sie dies der richtigen Datei hinzufügen ssh_configund nicht sshd_config. Letzteres wird dazu führen, dass Ihre ssh fehlschlägt!
— Orangen13

0

Neben den beiden anderen Antworten, in denen die PreferredAuthenticationsOption bereits erwähnt wurde , muss keine Datei bearbeitet werden, um diese Einstellung festzulegen, wenn Sie dies nicht möchten . Sie können esssh stattdessen einfach in der Befehlszeile für einen einzelnen Aufruf von festlegen , wobei die -oOption wie folgt lautet:

ssh -o PreferredAuthentications=publickey,gssapi-with-mic,hostbased,keyboard-interactive,password user@hostname

Verweise:

  1. Weitere Informationen zu dieser PreferredAuthenticationsOption finden Sie unter man ssh_config( hier online ). Lesen Sie auch über die ssh -oOption in den man sshManualseiten ( online hier ).
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.