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

Wie genehmige ich bestimmten Computern die SSH-Verbindung zu einem Computer mit deaktivierter Kennwortauthentifizierung?

Die Anweisungen in help.ubuntu.com/community/SSH/OpenSSH/Configuring empfehlen, die Passwortauthentifizierung zu deaktivieren, sodass „es nur möglich ist, eine Verbindung von Computern herzustellen, die Sie ausdrücklich genehmigt haben“. Aber sie sagen nicht, wie man einen Computer speziell genehmigt. Wie mache ich das?

Akzeptierte Antwort:

Führen Sie für jeden Benutzer, der Zugriff auf den Server haben möchte, in einem Terminal Folgendes aus:

ssh-keygen
ssh-copy-id <username>@<serverIPorDNSname>

Es wird Sie fragen, wo es gespeichert werden soll, die Standardeinstellung ist in Ordnung. Sie werden aufgefordert, eine Passphrase einzugeben. Dies dient der Verschlüsselung des Schlüssels für den Fall, dass der Computer gestohlen oder kompromittiert wird. Wenn Sie keine Passphrase wünschen, lassen Sie beide Eingabeaufforderungen für die Passphrase leer.

Der erste Befehl erstellt einen ssh-Schlüssel für den aktuellen Benutzer, auf dem er ausgeführt wird. Der zweite Befehl ssh geht in den Server und fügt den Schlüssel des aktuellen Benutzers zur Liste des Servers hinzu, wer sich anmelden darf. Da ssh-copy-id ssh verwendet, müssen Sie dies tun, bevor Sie Passwort-Logins deaktivieren.

SSH-Schlüssel sind zwei zusammenpassende Hälften. Die eine Hälfte wird allen erzählt, die andere bleibt geheim. Unter Verwendung eines mathematischen Algorithmus kann die öffentliche Hälfte verwendet werden, um mit dem privaten Schlüssel verschlüsselte Daten zu entschlüsseln. Wenn Daten mit dem öffentlichen Schlüssel erfolgreich entschlüsselt werden, wissen Sie zweifelsfrei, dass die private Hälfte des Schlüssels sie verschlüsselt hat. Wenn Sie sich also mit einem SSH-Schlüssel anmelden, sendet der Client eine Nachricht (mit dem privaten Schlüssel verschlüsselt), die im Grunde sagt:„Lass mich rein“. Der Server prüft anhand des öffentlichen Schlüssels und wenn sich der öffentliche Schlüssel in der Liste der erlaubten Computer befindet, ist die Anmeldung erfolgreich.

ssh-copy-id kopiert (unter Verwendung von ssh) die öffentliche Hälfte in die Serverliste, welche Schlüssel zur Anmeldung zugelassen sind (diese Liste wird unter /home//.ssh/authorized_keys2 gespeichert, oder im Fall von root unter /root/.ssh/authorized_keys2). Wenn Sie die Kennwortauthentifizierung bereits deaktiviert haben, können Sie immer noch einen Computer hinzufügen. Sie müssen nur den öffentlichen Schlüssel (unter /home/username/.ssh/id_rsa.pub auf einem Client-Computer) auf etwas wie einen USB-Stick kopieren und dann den Inhalt von id_rsa.pub am Ende von /home//.ssh/authorized_keys2-Datei auf dem Server. (Sie können dies tun, indem Sie einen Befehl wie cat /media/USB/stick/path/to/id_rsa.pub >>/home/<username>/.ssh/authorized_keys2 ausführen auf dem Server.)

Verwandte:Touchpad funktioniert plötzlich nicht mehr?
Ubuntu
  1. SSH-Anmeldung beim RHEL 7-Server ohne Passwort

  2. So verwenden Sie SSH-Schlüssel mit Plesk

  3. SSHPass:SSH-Zugang zu einem Server mit einem Skript ohne Passwort (nicht interaktiv)

  4. Wie man in ein bestimmtes Verzeichnis ssh?

  5. So deaktivieren Sie die SSH-Anmeldung mit Passwort

So richten Sie die SSH-Zwei-Faktor-Authentifizierung unter Ubuntu 16.04 mit Google Authenticator ein

Wie richte ich die ssh-schlüsselbasierte Authentifizierung für Github mithilfe der Datei ~/.ssh/config ein?

So richten Sie einen SSH-Schlüssel auf einem Plesk-Server ein

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

So richten Sie die Passwortauthentifizierung mit Apache unter Ubuntu 18.04 ein

So sichern Sie SSH mit Fail2Ban