Android

So richten Sie SSH-Schlüssel unter Ubuntu ein 18.04

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Inhaltsverzeichnis:

Anonim

Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll, das für eine sichere Verbindung zwischen einem Client und einem Server verwendet wird und verschiedene Authentifizierungsmechanismen unterstützt.

Die beiden beliebtesten Mechanismen sind die kennwortbasierte Authentifizierung und die auf öffentlichen Schlüsseln basierende Authentifizierung. Die Verwendung von SSH-Schlüsseln ist sicherer und bequemer als die herkömmliche Kennwortauthentifizierung.

In diesem Tutorial erfahren Sie, wie Sie SSH-Schlüssel auf Ubuntu 18.04-Computern generieren. Wir zeigen Ihnen auch, wie Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten und eine Verbindung zu Ihren entfernten Linux-Servern herstellen, ohne ein Kennwort einzugeben.

Erstellen von SSH-Schlüsseln unter Ubuntu

Bevor Sie zuerst ein neues SSH-Schlüsselpaar generieren, überprüfen Sie, ob auf Ihrem Ubuntu-Client-Computer SSH-Schlüssel vorhanden sind. Sie können dies tun, indem Sie den folgenden ls-Befehl ausführen:

ls -l ~/.ssh/id_*.pub

Wenn der obige Befehl so etwas wie No such file or directory oder no matches found ausgibt, bedeutet dies, dass auf Ihrem Client-Computer keine SSH-Schlüssel vorhanden sind und Sie mit dem nächsten Schritt fortfahren und ein SSH-Schlüsselpaar generieren können.

Wenn bereits Schlüssel vorhanden sind, können Sie diese entweder verwenden und den nächsten Schritt überspringen oder die alten Schlüssel sichern und neue generieren.

Erstellen Sie ein neues 4096-Bit-SSH-Schlüsselpaar mit Ihrer E-Mail-Adresse als Kommentar, indem Sie Folgendes eingeben:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Die Ausgabe sieht ungefähr so ​​aus:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Drücken Sie die Enter , um den Standardspeicherort und Dateinamen zu übernehmen.

Als Nächstes werden Sie aufgefordert, eine sichere Passphrase einzugeben. Ob Sie eine Passphrase verwenden möchten, liegt ganz bei Ihnen. Wenn Sie sich für die Verwendung von Passphrasen entscheiden, erhalten Sie eine zusätzliche Sicherheitsebene.

Enter passphrase (empty for no passphrase):

Die gesamte Interaktion sieht folgendermaßen aus:

Geben Sie Folgendes ein, um zu überprüfen, ob Ihr neues SSH-Schlüsselpaar generiert wurde:

ls ~/.ssh/id_*

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Kopieren Sie den öffentlichen Schlüssel auf Ubuntu Server

Nachdem Sie Ihr SSH-Schlüsselpaar generiert haben, besteht der nächste Schritt darin, den öffentlichen Schlüssel auf den Server zu kopieren, den Sie verwalten möchten.

Die einfachste und empfohlene Methode zum Kopieren Ihres öffentlichen Schlüssels auf den Server ist die Verwendung eines Dienstprogramms namens ssh-copy-id . Auf Ihrem lokalen Computer-Terminaltyp:

ssh-copy-id remote_username@server_ip_address

Sie werden aufgefordert, das Kennwort für remote_username :

remote_username@server_ip_address's password:

Sobald der Benutzer authentifiziert ist, wird der öffentliche Schlüssel ~/.ssh/id_rsa.pub an die Datei ~/.ssh/authorized_keys ~/.ssh/id_rsa.pub angehängt und die Verbindung wird geschlossen.

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.

Wenn aus irgendeinem Grund das Dienstprogramm ssh-copy-id auf Ihrem lokalen Computer nicht verfügbar ist, können Sie den öffentlichen Schlüssel mit dem folgenden Befehl kopieren:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Melden Sie sich mit SSH-Schlüsseln bei Ihrem Server an

Nachdem Sie die obigen Schritte ausgeführt haben, sollten Sie sich beim Remote-Server anmelden können, ohne zur Eingabe eines Kennworts aufgefordert zu werden.

Versuchen Sie zum Testen, sich über SSH bei Ihrem Server anzumelden:

ssh remote_username@server_ip_address

Deaktivieren der SSH-Kennwortauthentifizierung

Durch Deaktivieren der Kennwortauthentifizierung wird Ihrem Server eine zusätzliche Sicherheitsebene hinzugefügt.

Stellen Sie vor dem Deaktivieren der SSH-Kennwortauthentifizierung sicher, dass Sie sich ohne Kennwort bei Ihrem Server anmelden können und der Benutzer, mit dem Sie sich anmelden, über sudo-Berechtigungen verfügt.

Melden Sie sich bei Ihrem Remote-Server an:

ssh sudo_user@server_ip_address

Öffnen Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config mit Ihrem Texteditor:

sudo nano /etc/ssh/sshd_config

Suchen Sie nach den folgenden Anweisungen und ändern Sie sie wie folgt:

/ etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Wenn Sie fertig sind, speichern Sie die Datei und starten Sie den SSH-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart ssh

Zu diesem Zeitpunkt ist die kennwortbasierte Authentifizierung deaktiviert.

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Sie ein neues SSH-Schlüsselpaar generieren und eine SSH-Schlüssel-basierte Authentifizierung einrichten. Sie können denselben Schlüssel mehreren Remoteservern hinzufügen. Wir haben Ihnen auch gezeigt, wie Sie die SSH-Kennwortauthentifizierung deaktivieren und Ihrem Server eine zusätzliche Sicherheitsebene hinzufügen.

Standardmäßig überwacht SSH Port 22. Durch Ändern des Standard-SSH-Ports wird das Risiko automatisierter Angriffe verringert.

Ubuntu SSH-Sicherheit