Befehl zum Deaktivieren der Kennwortanmeldung über SSH?

Befehl zum Deaktivieren der Kennwortanmeldung über SSH?

Mir ist also bewusst, dass ich die Kennwortauthentifizierung über SSH deaktivieren kann, indem ich sie in /etc/ssh/sshd_configändere . Ich möchte sicherstellen, dass SSH-Anmeldungen für jeden Benutzer nur über eine Schlüsseldatei erfolgen können.PasswordAuthentication YesPasswordAuthentication no

Gibt es einen schönen Einzeiler-Befehl, um diese Option festzulegen?

Antwort1

Ich habe dies erfolgreich getestet:

sudo sed -E -i 's|^#?(PasswordAuthentication)\s.*|\1 no|' /etc/ssh/sshd_config
if ! grep '^PasswordAuthentication\s' /etc/ssh/sshd_config; then echo 'PasswordAuthentication no' |sudo tee -a /etc/ssh/sshd_config; fi

Dadurch wird seddie Datei direkt bearbeitet. Zusätzlich zum Ersetzen aller folgenden Elemente PasswordAuthenticationdurch nowird der Kommentar am Zeilenanfang entfernt, der unter Ubuntu standardmäßig vorhanden ist. Wenn dieser Befehl ein zweites oder drittes Mal ausgeführt wird, werden keine weiteren Änderungen an der Datei vorgenommen.

Die zweite Zeile fügt der Datei die Konfigurationsoption hinzu, für den Fall, dass sie irgendwie gelöscht wurde.

verwandte Informationen