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 ...

Oz123
quelle
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.

EightBitTony
quelle
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.

Pavel Anni
quelle
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 ).
Gabriel Staples
quelle