SSH-Schlüssel stellen eine sichere und effektive Authentifizierungsmethode dar, wenn Sie eine Verbindung zu einem Remote-Server herstellen. Durch das Erstellen und Verwenden von SSH-Schlüsseln können Sie sicher Daten austauschen und mit Remote-Servern arbeiten, ohne Passwörter über das Netzwerk zu übertragen. In diesem Artikel werden wir uns ansehen, wie ein SSH-Schlüssel auf einem Ubuntu-Betriebssystem erstellt wird.
Der Prozess zum Erstellen eines SSH-Schlüssels in Ubuntu ist ziemlich einfach und dauert nur wenige Minuten Ihrer Zeit. Öffnen Sie zuerst das Terminal und geben Sie den folgenden Befehl ein:
ssh-keygen -t rsa
Das Team ssh-keygen ist das Hauptwerkzeug zum Erstellen von SSH-Schlüsseln in Ubuntu. Es erzeugt ein neues Schlüsselpaar und speichert sie standardmäßig in Ihrem Home-Verzeichnis. Parameter -t gibt den Schlüsseltyp an, in diesem Fall verwenden wir RSA.
Während der Ausführung des Befehls werden Sie aufgefordert, einen Dateinamen einzugeben, in dem der Schlüssel gespeichert werden soll. Sie können den Standardnamen beibehalten oder Ihren bevorzugten Namen angeben. Danach werden Sie aufgefordert, das Passwort für den Schlüssel einzugeben. Das Festlegen eines Passworts ist ein zusätzliches Sicherheitswerkzeug und kann optional sein.
Es ist wichtig sich daran zu erinnern, dass SSH-Schlüssel an einem sicheren Ort gespeichert werden müssen, da sie den letzten Schutz für die Anmeldung in Ihrem System darstellen. Teilen Sie Ihre Schlüssel nicht mit anderen und bewahren Sie sie an einem sicheren Ort auf.
Definieren eines SSH-Schlüssels
SSH-Schlüssel ermöglichen eine sichere Verbindung zwischen Client und Server und verhindern unbefugten Zugriff.
Vorteile der Verwendung von SSH-Schlüsseln
Hier sind einige Vorteile der Verwendung von SSH-Schlüsseln:
1. Sicherheit
SSH-Schlüssel bieten eine höhere Sicherheit als die Verwendung von Kennwörtern. Die Schlüssel werden mit kryptografischen Algorithmen erstellt und können sehr lang und schwierig zu knacken sein. Außerdem kann jeder Benutzer seinen eigenen eindeutigen Schlüssel haben.
2. Einfache Bedienung
Nachdem Sie den SSH-Schlüssel erstellt haben, müssen Sie nur den privaten Schlüssel auf Ihrem lokalen Computer speichern und den öffentlichen Schlüssel an einen Remote-Server übertragen. Als nächstes können Sie sich mit Ihrem Schlüssel mit dem Server verbinden, ohne jedes Mal ein Passwort eingeben zu müssen. Dies vereinfacht und automatisiert den Authentifizierungsprozess erheblich.
3. Produktivitätssteigerung
Die Verwendung von SSH-Schlüsseln kann die Leistung insbesondere bei automatisierten Aufgaben und Skripten verbessern. Sie müssen nicht jedes Mal Passwörter eingeben, was Zeit spart und die Arbeit mit Remote-Servern vereinfacht.
4. Zugriffssteuerung
SSH-Schlüssel ermöglichen eine flexiblere Verwaltung des Zugriffs auf den Server. Sie können verschiedene Schlüssel für verschiedene Benutzer erstellen und verschiedene Zugriffsstufen konfigurieren. Auf diese Weise können Sie nur denjenigen Zugriff gewähren, die sie wirklich benötigen, und steuern, wer und wann eine Verbindung zum Server hergestellt wird.
5. Audit und Tracking
Mit SSH-Schlüsseln können Sie eine detaillierte Überwachung durchführen und verfolgen, wer und wann eine Verbindung zum Server herstellt. Die SSH-Protokolle enthalten Daten zu jeder Authentifizierung mit Schlüsseln, die Ihnen helfen, unbefugten Zugriff oder potenzielle Sicherheitsrisiken zu erkennen und zu verhindern.
Im Allgemeinen ist die Verwendung von SSH-Schlüsseln eine sicherere und bequemere Möglichkeit, sich mit Remote-Servern zu verbinden. Wenn es keinen guten Grund gibt, weiterhin die Passwortauthentifizierung zu verwenden, wird empfohlen, SSH-Schlüssel für mehr Sicherheit und Effizienz zu verwenden.
Erstellen eines SSH-Schlüssels
Führen Sie die folgenden Schritte aus, um einen SSH-Schlüssel in Ubuntu zu erstellen:
Schritt 1: Öffnen Sie das Terminal, indem Sie Strg + Alt + T drücken.
Schritt 2: Geben Sie den Befehl ein:
Schritt 3: Sie werden aufgefordert, den Speicherort und den Dateinamen anzugeben, an dem der SSH-Schlüssel gespeichert werden soll. Drücken Sie die Eingabetaste, um die Standardeinstellung zu verwenden.
Schritt 4: Geben Sie das Passwort für den SSH-Schlüssel ein (wenn Sie den Passwortschutz verwenden möchten), oder drücken Sie die Eingabetaste, um es leer zu lassen.
Schritt 5: Die Schlüssel werden im Verzeichnis ~/ generiert.ssh/ in der Datei id_rsa (persönlicher Schlüssel) und id_rsa.pub (öffentlicher Schlüssel).
Ihr SSH-Schlüssel wurde erfolgreich erstellt. Sie können es jetzt verwenden, um sich über SSH mit einem Remote-Server zu verbinden.
Schritt 1 - Installieren des OpenSSH-Pakets
Führen Sie die folgenden Befehle im Terminal aus, um das OpenSSH-Paket zu installieren:
sudo apt update
sudo apt install openssh-server
Der Befehl sudo apt update aktualisiert die Paketlisten und der Befehl sudo apt install openssh-server installiert das OpenSSH-Paket auf Ihrem Computer.
Nach erfolgreicher Installation können Sie mit dem Erstellen eines SSH-Schlüssels für den sicheren Remotezugriff beginnen.
Schritt 2 - Generieren eines SSH-Schlüssels
Nachdem Sie OpenSSH in Ubuntu installiert haben, können Sie mit der Erstellung eines SSH-Schlüssels beginnen. Der SSH-Schlüssel besteht aus zwei Teilen: dem privaten und dem öffentlichen Schlüssel. Der private Schlüssel wird auf Ihrem Computer gespeichert und zum Verschlüsseln von Daten verwendet, und der öffentliche Schlüssel kann zur Authentifizierung an andere Benutzer oder Server weitergegeben werden.
Führen Sie die folgenden Schritte aus, um einen SSH-Schlüssel zu generieren:
- Öffnen Sie ein Terminal in Ubuntu.
- Geben Sie den Befehl ssh-keygen ein und drücken Sie die Eingabetaste.
- Standardmäßig wird der SSH-Schlüssel im Verzeichnis /home/Ihr Benutzername/ gespeichert.ssh . Sie können dieses Feld leer lassen und die Eingabetaste drücken, um den Schlüssel in diesem Verzeichnis zu speichern, oder einen anderen Pfad angeben.
- Danach werden Sie vom Befehl aufgefordert, eine Passphrase einzugeben, die zum Schutz des privaten Schlüssels verwendet wird. Geben Sie die Passphrase ein und drücken Sie die Eingabetaste. Beachten Sie, dass bei der Eingabe der Passphrase keine Zeichen angezeigt werden, sondern Text eingegeben wird.
- Der Befehl fordert Sie dann auf, die Passphrase zur Bestätigung erneut einzugeben. Geben Sie die Passphrase erneut ein und drücken Sie die Eingabetaste.
- Danach wird der SSH-Schlüssel generiert und in dem von Ihnen angegebenen Verzeichnis gespeichert.
Glückwunsch! Sie haben erfolgreich einen SSH-Schlüssel in Ubuntu erstellt. Jetzt können Sie diesen Schlüssel verwenden, um sich bei SSH-Servern zu authentifizieren oder den öffentlichen Schlüssel an andere Benutzer oder Server zu übergeben.
Schritt 3 - Hinzufügen eines öffentlichen Schlüssels zum Server
Nachdem Sie einen SSH-Schlüssel auf dem Computer erstellt haben, müssen Sie dem Server, auf den Sie zugreifen möchten, einen öffentlichen Schlüssel hinzufügen. In diesem Abschnitt erfahren Sie, wie Sie diesen Vorgang durchführen.
-
Zuerst müssen Sie sich mit Ihrem Login und Passwort beim Server anmelden. Führen Sie den folgenden Befehl im Terminal aus:
ssh ваш_логин@ip_адрес_сервера
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
nano ~/.ssh/authorized_keys
Jetzt haben Sie einen öffentlichen Schlüssel auf dem Server, mit dem Sie eine SSH-Verbindung starten können, ohne ein Passwort einzugeben. Sie können seine Funktion überprüfen, indem Sie versuchen, sich mit Ihrem privaten Schlüssel mit dem Server zu verbinden.
Konfigurieren des SSH-Zugriffs mit einem Schlüssel
SSH-Schlüssel sind ein Paar Dateien: ein privater Schlüssel, der lokal auf Ihrem Computer gespeichert ist, und ein öffentlicher Schlüssel, der auf einem Remote-Server gehostet wird. Wenn Sie eine Verbindung zum Server herstellen, verwendet SSH diese Schlüssel zur Authentifizierung.
Um den SSH-Zugriff mit einem Schlüssel zu konfigurieren, müssen Sie die folgenden Schritte ausführen:
1. Schlüsselpaar generieren
Zuerst müssen Sie ein Schlüsselpaar auf Ihrem Computer generieren. Führen Sie dazu den Befehl aus:
ssh-keygen -t rsa -b 4096
Der private Schlüssel ( id_rsa ) und der öffentliche Schlüssel ( id_rsa ) werden erstellt.pub ).
2. Kopieren des öffentlichen Schlüssels auf den Server
Kopieren Sie Ihren öffentlichen Schlüssel auf einen Remote-Server. Sie benötigen ein Konto auf dem Server und Zugriff über SSH. Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel auf den Server zu kopieren:
ssh-copy-id username@server_ip
Ersetzen Sie username durch Ihren Benutzernamen auf dem Server und server_ip durch die IP-Adresse (oder den Domain-Namen) Ihres Servers.
3. Verbindung mit dem Server mithilfe eines Schlüssels herstellen
Nachdem Sie den öffentlichen Schlüssel auf den Server kopiert haben, können Sie eine Verbindung herstellen, ohne ein Passwort einzugeben. Führen Sie einfach den SSH-Befehl mit Ihrem Benutzernamen und Ihrer Server-IP-Adresse aus:
ssh username@server_ip
Sie werden aufgefordert, ein Passwort für Ihr Serverkonto einzugeben. Nachdem Sie das Passwort eingegeben haben, wird die Verbindung mit dem Schlüssel hergestellt, und Sie müssen das Passwort in Zukunft nicht mehr eingeben.
Jetzt haben Sie den SSH-Zugriff erfolgreich mit einem Schlüssel konfiguriert und können Befehle ausführen und Daten auf sichere Weise an einen Remote-Server übertragen.
Schritt 1 - Öffnen der Konfigurationsdatei
Um einen SSH-Schlüssel in Ubuntu zu erstellen, müssen Sie die Konfigurationsdatei öffnen und ihre Einstellungen konfigurieren. Die Konfigurationsdatei wird üblicherweise als sshd_config bezeichnet und befindet sich im Verzeichnis /etc/ssh/ .
1. Öffnen Sie das Terminal, indem Sie Strg + Alt + T drücken.
2. Führen Sie den Befehl aus:
sudo nano /etc/ssh/sshd_config
3. Geben Sie das Administratorkennwort ein (falls erforderlich) und drücken Sie die Eingabetaste.
4. Die Datei sshd_config wird in einem Nano-Texteditor geöffnet, in dem Sie die SSH-Einstellungen des Servers ändern können.
| Option | Die Beschreibung |
|---|---|
| #Port 22 | Der Port, auf dem der SSH-Server ausgeführt wird. Deaktivieren Sie das Kommentieren (entfernen Sie das Zeichen # ) und ändern Sie die Portnummer, falls erforderlich. |
| PermitRootLogin yes | Erlaubt oder verbietet die Verbindung zum Server als Root-Benutzer. Wenn Sie den SSH-Schlüssel zur Authentifizierung verwenden möchten, wird empfohlen, den Wert in PermitRootLogin no zu ändern. |
| PubkeyAuthentication yes | Aktiviert die Schlüsselauthentifizierung. Stellen Sie sicher, dass diese Option auf yes gesetzt ist. |
5. Nachdem Sie die erforderlichen Änderungen vorgenommen haben, drücken Sie Strg + X, um den Nano-Editor zu verlassen. Geben Sie Y ein, um die Änderungen zu speichern, und drücken Sie dann die Eingabetaste.
Jetzt können Sie mit dem zweiten Schritt fortfahren - den SSH-Schlüssel generieren.
Schritt 2 - Hinzufügen von Konfigurationseinstellungen
Nachdem Sie den SSH-Schlüssel in Ubuntu erfolgreich erstellt haben, empfiehlt es sich, die Konfigurationsdatei zu konfigurieren, um die Verwendung des Schlüssels noch komfortabler zu machen.
1. Öffnen Sie ein Terminal und geben Sie den Befehl ein:
cd ~/.ssh/
2. Erstellen Sie eine Konfigurationsdatei mit einem Texteditor:
gedit config
3. Fügen Sie in der geöffneten Datei die folgenden Informationen hinzu:
# Пример настройки для конкретного сервераHost exampleHostName example.comUser your_usernameIdentityFile ~/.ssh/id_rsa# Пример настройки для другого сервераHost another_serverHostName another-server.comUser your_usernameIdentityFile ~/.ssh/another_key
Ersetzen Sie example und another_server durch eindeutige Namen für jeden Server. Füllen Sie HostName und User mit Ihren Daten aus. Geben Sie den Pfad zu Ihren SSH-Schlüsseln an.
4. Speichern und schließen Sie die Konfigurationsdatei.
Jetzt können Sie den generierten SSH-Schlüssel verwenden, um eine Verbindung zu den in der Konfigurationsdatei angegebenen Servern herzustellen. Geben Sie einfach den Hostnamen an, den Sie in der Konfigurationsdatei verwendet haben, wenn Sie sich mit dem Server verbinden.