GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden Sie heraus, ob ein Benutzer unter Linux eine kennwortbasierte oder schlüsselbasierte SSH-Authentifizierung verwendet

Stellen Sie sich dieses Szenario vor. Sie haben gerade die SSH-Schlüssel-basierte Authentifizierung konfiguriert auf Ihrem Linux-Server. Und dann haben Sie sich entschieden, die kennwortbasierte Authentifizierung vollständig zu deaktivieren und allen Benutzern nur die schlüsselbasierte Authentifizierung zu erlauben. Bevor Sie die Passwortauthentifizierung deaktivieren, möchten Sie überprüfen, welche Benutzer noch Passwörter verwenden, um über SSH auf den Server zuzugreifen. Wie werden Sie das tun? Nun, es ist möglich! Diese kurze Anleitung erläutert, wie Sie feststellen können, ob ein Benutzer unter Linux die kennwortbasierte oder die schlüsselbasierte SSH-Authentifizierung verwendet.

Finden Sie heraus, ob ein Benutzer passwortbasierte oder schlüsselbasierte SSH-Authentifizierung verwendet

Wir können erkennen, ob ein Benutzer per SSH auf einem Linux-Server angemeldet ist, indem er ein Passwort oder einen SSH-Schlüssel verwendet. Es ist kein 100 % zuverlässiger und garantierter Weg, aber es ist immer noch ein guter Ansatz.

Überprüfen Sie zuerst, ob die Datei ~/.ssh/authorized_keys Datei existiert. Denn bei der SSH-Schlüssel-basierten Authentifizierungsmethode sollte der öffentliche SSH-Schlüssel auf die Systeme hochgeladen werden, auf die Sie über SSH zugreifen möchten. Die öffentlichen Schlüssel werden normalerweise in einer Datei namens ~/.ssh/authorized_keys gespeichert in den entfernten Systemen. Wenn diese Datei vorhanden ist, besteht die Möglichkeit, dass der Benutzer wahrscheinlich die schlüsselbasierte Authentifizierung verwendet.

Überprüfen Sie als Nächstes die Authentifizierungsprotokolldateien, um festzustellen, welche Authentifizierungsmethode der Benutzer derzeit für den Zugriff auf das Remotesystem verwendet. Die Authentifizierungsmethode wird in "/var/log/secure" protokolliert Datei auf RPM-basierten Systemen (zB CentOS), "/var/log/auth.log" Datei auf DEB-basierten Systemen (z. B. Ubuntu).

Suchen Sie einfach mit dem Befehl grep in den Authentifizierungsprotokolldateien nach dem Passworteintrag oder auf andere Weise, die Sie bevorzugen.

$ grep 'password' /var/log/secure

Oder,

$ grep 'password' /var/log/auth.log

Beispielausgabe:

[...]
May  8 10:40:36 ostechnix sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2
May  8 10:40:56 ostechnix sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2

Haben Sie die Zeilen "Accepted password for ..." bemerkt in der obigen Ausgabe? Dies bedeutet, dass der Benutzer mit einem Passwort auf die Remote-Systeme zugreift. Gemäß der obigen Ausgabe sind die Benutzer "senthil" und "sk" greifen auf das entfernte System über die SSH-Kennwortauthentifizierung zu.

Wenn der Benutzer die schlüsselbasierte Authentifizierung verwendet, sehen Sie wahrscheinlich eine Ausgabe wie unten:

May 8 10:40:56 ostechnix sshd[3405]: Accepted publickey for sk from 192.168.225.37 port 41992 ssh2

Etwas schwierig wird es natürlich, wenn die Logdatei sehr lang ist und viele Einträge enthält. Verwenden Sie in diesem Fall "tail" Befehl zum Anzeigen einer bestimmten Anzahl von Protokolldateien.

Der folgende Befehl zeigt beispielsweise nur die letzten 10 Einträge der Protokolldatei an:

$ grep 'password' /var/log/auth.log | tail -n 10

Beispielausgabe:

May  8 10:21:49 ostechnix sshd[2135]: Accepted password for senthil from 192.168.225.37 port 41920 ssh2
May  8 10:21:57 ostechnix sshd[2222]: Accepted password for sk from 192.168.225.37 port 41922 ssh2
May  8 10:24:57 ostechnix sshd[2360]: Accepted password for senthil from 192.168.225.37 port 41924 ssh2
May  8 10:25:04 ostechnix sshd[2448]: Accepted password for sk from 192.168.225.37 port 41926 ssh2
May  8 10:29:40 ostechnix sshd[2663]: Accepted password for senthil from 192.168.225.37 port 41938 ssh2
May  8 10:29:55 ostechnix sshd[2765]: Accepted password for sk from 192.168.225.37 port 41940 ssh2
May  8 10:39:34 ostechnix sshd[3064]: Accepted password for senthil from 192.168.225.37 port 41986 ssh2
May  8 10:39:55 ostechnix sshd[3184]: Accepted password for sk from 192.168.225.37 port 41988 ssh2
May  8 10:40:36 ostechnix sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2
May  8 10:40:56 ostechnix sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2

Sie können auch -f verwenden Flag, um dem Protokoll beim Testen zu folgen.

$ grep 'password' /var/log/auth.log | tail -f -n 10

Wenn Sie die gesamte Protokolldatei auf "Passwort" überprüfen möchten Einträge Seite für Seite, verwenden Sie "less" Befehl:

$ grep 'password' /var/log/auth.log | less

Um alle Protokolle im Zusammenhang mit sshd zu finden (erfolgreiche oder fehlgeschlagene Versuche), ersetzen Sie "password" durch "sshd" in allen obigen Befehlen.

$ grep 'sshd' /var/log/auth.log | tail -n 10

Andere SSH-bezogene Anleitungen:

  • SSH-Zugriff für einen bestimmten Benutzer oder eine bestimmte Gruppe in Linux zulassen oder verweigern
  • Begrenzen Sie die Anzahl der SSH-Anmeldungen pro Benutzer/Gruppe/System
  • Beschränken Sie den Zugriff auf Linux-Server mithilfe von TCP-Wrappern
  • Befehle auf Remote-Linux-Systemen über SSH ausführen
  • So erstellen Sie einen SSH-Alias ​​unter Linux
  • SSH in ein bestimmtes Verzeichnis unter Linux
  • SSLH – Verwenden Sie denselben Port für HTTPS und SSH
  • ScanSSH – Schneller SSH-Server und offener Proxy-Scanner
  • So setzen Sie teilweise übertragene Dateien über SSH mit Rsync fort
  • So führen Sie einen einzelnen Befehl gleichzeitig auf mehreren Remote-Systemen aus
  • DSH – Führen Sie einen Linux-Befehl auf mehreren Hosts gleichzeitig aus
  • So verhindern Sie, dass die SSH-Sitzung unter Linux getrennt wird
  • So aktivieren Sie SSH auf FreeBSD

Hoffe das hilft.


Linux
  1. So finden Sie aktive SSH-Verbindungen unter Linux

  2. So ändern, entfernen oder deaktivieren Sie das Benutzerkennwort in Linux

  3. So finden Sie alle Sudo-Benutzer in Linux

  4. So konfigurieren Sie die SSH-Schlüssel-basierte Authentifizierung in Linux

  5. Wie setze ich das Plesk Admin-Passwort mit SSH in Linux Server zurück?

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

So ändern oder setzen Sie das Benutzerkennwort in Linux

So übergeben Sie das Passwort an den SSH-Befehl in Linux

So führen Sie eine Remote-Linux-Sicherung mit SSH durch

So finden Sie ein gespeichertes WLAN-Passwort in Linux Mint mithilfe der GUI oder des Terminals

wie man die SSH-Schlüssel-basierte Authentifizierung in Linux VPS oder Dedicated Server konfiguriert