# SSH-Key unter Ubuntu erstellen und einrichten

In [Ubuntu](https://www.ionos.at/digitalguide/server/knowhow/ubuntu-das-linux-system-fuer-jedermann/ "Ubuntu: das Linux-System für jedermann") können Sie via Terminal ganz einfach ein SSH-Schlüsselpaar erstellen. Anschließend versorgen Sie Ihren Server mit dem öffentlichen Key, um dort die Möglichkeit der sicheren Anmeldung einzurichten. Wie sehen die einzelnen Schritte im Detail aus?

## Was ist ein SSH-Key?

Wer sichere Verbindungen über [SSH](https://www.ionos.at/digitalguide/server/tools/secure-shell-ssh/ "Secure Shell (SSH)") nutzen möchte, kann die **Authentifizierung** mithilfe von SSH-Keys ohne Passworteingabe erledigen. Konkret wird hierfür ein SSH-Schlüsselpaar benötigt, bestehend aus einem öffentlichen und einem privaten Key. Der öffentliche Schlüssel wird auf dem System hinterlegt, zu dem die SSH-Verbindung aufgebaut werden soll, beispielsweise auf einem Server. Der private SSH-Key, der besonders zu schützen ist, wird auf Client-Seiten erstellt und gespeichert und beim Verbindungsaufbau für die **Entschlüsselung** des öffentlichen SSH-Keys benötigt.

---

### Tipp

SSH-Schlüssel kommen mittlerweile bei verschiedensten Services zum Einsatz. Unter anderem ist SSH seit Ende 2021 eines von zwei verfügbaren Authentifizierungsverfahren für den **Kommandozeilenzugang in GitHub**. Mehr zu diesem Thema erfahren Sie in unserem Artikel „[Verwendung eines SSH-Keys mit GitHub](https://www.ionos.at/digitalguide/websites/web-entwicklung/ssh-key-mit-github/ "SSH-Key mit GitHub")“.

---

## SSH-Key in Ubuntu erstellen und einrichten: Schritt-für-Schritt-Anleitung

Sichere Anmeldungen auf Servern oder bei bestimmten Services – ohne Passworteingabe: SSH-Schlüsselpaare für die Authentifizierung zu nutzen, ist äußerst praktisch. In den nachfolgenden Schritten präsentieren wir Ihnen exemplarisch am Beispiel von Ubuntu 22.04, wie Sie **SSH-Keys in Ubuntu generieren** und **für die Authentifizierung auf einem Server einrichten**, um die [SSH-Keys für Ihre Netzwerkverbindung zu nutzen](https://www.ionos.at/digitalguide/server/sicherheit/ssh-keys-fuer-ihre-netzwerkverbindung-nutzen/ "SSH-Keys für Ihre Netzwerkverbindung nutzen").

---

### Tipp

Sie sind auf der Suche nach einer sicheren Filehosting-Lösung? Mieten Sie jetzt Ihren [SFTP-Server](https://www.ionos.at/hosting/ftp-server-mieten "Secure FTP Server mieten bei IONOS") bei IONOS, um Ihre Daten sicher per SSH und FTP zu übertragen und zu speichern!

---

### Schritt 1: SSH-Schlüsselpaar erstellen

SSH-Keys sind in Ubuntu schnell generiert: Sie können ein Schlüsselpaar aus öffentlichem und privatem Key jederzeit direkt über das **Terminal** erstellen. Starten Sie hierfür die Kommandozeile von Ubuntu und lassen Sie folgenden Befehl ausführen:

```none
ssh-keygen
```

Auf diese Weise wird automatisch ein **RSA-Schlüsselpaar mit 3.072-Bit-Verschlüsselung** generiert, was für die meisten Anwendungsfälle mehr als genug ist. Sie können auch größere Schlüssel mit 4.096 Bit erstellen, indem Sie das Kommando um den Parameter „-b 4096“ erweitern.

```none
ssh-keygen -b 4096
```

Sobald Sie den Befehl ausgeführt haben, generiert Ubuntu ein Schlüsselpaar. Sie werden gefragt, ob Sie die SSH-Keys im **Ubuntu-Nutzerverzeichnis** (Unterordner */.ssh*) speichern wollen, und können diese Anfrage mit der Eingabetaste bestätigen. Alternativ geben Sie einen **anderen Pfad** an.

[![Bild: SSH-Key via Ubuntu-Terminal erstellen](https://www.ionos.at/digitalguide/fileadmin/_processed_/a/c/csm_ssh-key-via-ubuntu-terminal_7d9adc9c77.webp "SSH-Key via Ubuntu-Terminal erstellen")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/ssh-key-via-ubuntu-terminal.jpg) SSH-Key via Ubuntu-Terminal erstellen       Nachdem Sie den Speicherort des Schlüsselpaars festgelegt haben, bietet Ihnen Ubuntu an, eine **sichere Passphrase zu definieren**. Eine Passphrase fügt der verschlüsselten Authentifizierungsmethode eine **zusätzliche Sicherheitsebene** hinzu, um zu verhindern, dass sich Benutzer anmelden, die nicht autorisiert sind. Tippen Sie die gewünschte Phrase ein oder lassen Sie den Eintrag leer, falls Sie auf diese Sicherheitsebene verzichten wollen.

In beiden Fällen bestätigen Sie mit der Eingabetaste und erhalten als **Bestätigung der erfolgreichen Key-Erstellung** ein individuelles „randomart image“ der SSH-Schlüssel:

[![Bild: „randomart image“ eines Ubuntu-SSH-Key-Paars](https://www.ionos.at/digitalguide/fileadmin/_processed_/c/b/csm_randomart-image-ubuntu-ssh-key_006873c2ed.webp "„randomart image“ eines Ubuntu-SSH-Key-Paars")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/randomart-image-ubuntu-ssh-key.jpg) „randomart image“ eines Ubuntu-SSH-Key-Paars       ---

### Tipp

Sie sind sich unsicher, mit welcher Systemversion Sie gerade arbeiten? Lesen Sie in folgendem Artikel, wie Sie sich die [Ubuntu-Version anzeigen](https://www.ionos.at/digitalguide/server/knowhow/ubuntu-version-anzeigen/ "Ubuntu-Version anzeigen") lassen können.

---

### Schritt 2: Öffentlichen Schlüssel auf Server übertragen

Im nächsten Schritt gilt es, den öffentlichen Key an das Zielsystem zu übertragen, mit dem Sie später sichere SSH-Verbindungen aufbauen wollen. Hierfür benötigen Sie den **Benutzernamen**, den Sie für die Anmeldung auf dem System verwenden, sowie die **IP-Adresse** bzw. Domain des Systems. Sollten Sie noch keinen Usernamen definiert haben, können Sie stattdessen den User „root“ verwenden.

Für die Übertragung des öffentlichen SSH-Keys hält Ubuntu standardmäßig das Tool **ssh-copy-id** bereit. Die Syntax des passenden Kommandos sieht wie folgt aus:

```none
ssh-copy-id username@ip-adresse/domain
```

Wenn Sie **zum ersten Mal eine Verbindung** zu dem Ziel-Host herstellen, präsentiert Ihnen das Terminal die Meldung, dass die Authentifizierung des Hosts nicht festgestellt werden kann („authenticity of host … can’t be established“). Geben Sie „**yes**“ ein und bestätigen Sie die Eingabe, um mit der Einrichtung fortzufahren.

[![Bild: Übertragung des öffentlichen SSH-Keys via Ubuntu-Terminal](https://www.ionos.at/digitalguide/fileadmin/_processed_/a/4/csm_uebertragung-ssh-key-via-ubuntu_02139520b3.webp "Übertragung des öffentlichen SSH-Keys via Ubuntu-Terminal")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/uebertragung-ssh-key-via-ubuntu.jpg) Übertragung des öffentlichen SSH-Keys via Ubuntu-Terminal       Im Anschluss sucht der Dienst nach dem zuvor erstellten Schlüssel. Wird er gefunden, können Sie den Prozess fortsetzen, indem Sie das Passwort für die Anmeldung auf dem Zielsystem eingeben. Die Einrichtung wird abgeschlossen und Sie erhalten folgenden **Output**, wenn der öffentliche Key erfolgreich übertragen werden konnte:

[![Bild: SSH-Key in Ubuntu: Erfolgreiche Übertragung auf Zielsystem](https://www.ionos.at/digitalguide/fileadmin/_processed_/d/e/csm_ssh-key-in-ubuntu-erfolgreich_13b94495c8.webp "SSH-Key in Ubuntu: Erfolgreiche Übertragung auf Zielsystem")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/ssh-key-in-ubuntu-erfolgreich.jpg) SSH-Key in Ubuntu: Erfolgreiche Übertragung auf Zielsystem       ###  Schritt 3: SSH-Authentifizierung auf dem Ziel-Host

Sie können sich nun jederzeit per SSH auf dem Gerät bzw. dem Server anmelden, der über den öffentlichen Schlüssel verfügt. Wie bereits bei der Übertragung des Keys benötigen Sie den **Benutzernamen** sowie die **IP-Adresse bzw. Domain des Ziel-Hosts**. Diese sind beim folgenden Kommando entsprechend einzutragen:

```none
ssh username@ip-adresse/domain
```

Haben Sie eine **Passphrase für das Schlüsselpaar** eingerichtet, wird diese im nächsten Schritt abgefragt. Geben Sie das vergebene Kennwort ein und drücken Sie abschließend auf „**Entsperren**“, um sich mit dem Zielsystem zu verbinden.

[![Bild: Ubuntu-SSH-Key: Passphrase eingeben](https://www.ionos.at/digitalguide/fileadmin/_processed_/f/2/csm_ubuntu-ssh-passphrase_f352ceeb8b.webp "Ubuntu-SSH-Key: Passphrase eingeben")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/ubuntu-ssh-passphrase.jpg) Ubuntu-SSH-Key: Passphrase eingeben       ###  Schritt 4: Passwort-Eingabe deaktivieren

War die Anmeldung mit dem SSH-Schlüsselpaar erfolgreich, benötigen Sie die standardmäßige **Passwort-Anmeldung** in der Folge nicht mehr. Grundsätzlich ist dieses Authentifizierungsverfahren aber natürlich weiterhin aktiv – auch für Unbefugte, die sich, etwa in Form von [Brute-Force-Angriffen](https://www.ionos.at/digitalguide/server/sicherheit/brute-force-definition-und-schutzmassnahmen/ "Brute Force: Definition und Schutzmaßnahmen"), Zugang zu dem System verschaffen wollen.

Um in diesem Punkt für mehr Sicherheit zu sorgen, können Sie die Anmeldung per Passwort auf dem Server bzw. Zielgerät deaktivieren. Melden Sie sich zu diesem Zweck über SSH an und öffnen Sie dann die **Konfigurationsdatei des SSH-Services**:

```none
sudo nano /etc/ssh/sshd_config
```

Suchen Sie in der Konfigurationsdatei nach dem Eintrag „**PasswordAuthentication**“ und setzen Sie diesen auf „**no**“.

[![Bild: Anpassungen der SSH-Service-Konfigurationsdatei](https://www.ionos.at/digitalguide/fileadmin/_processed_/c/2/csm_ssh-service-konfigdatei_ada6571398.webp "Anpassungen der SSH-Service-Konfigurationsdatei")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/ssh-service-konfigdatei.jpg) Anpassungen der SSH-Service-Konfigurationsdatei       Speichern Sie die Änderungen an der Konfigurationsdatei und starten Sie danach den SSH-Dienst mit folgendem Kommando neu:

```none
sudo systemctl restart ssh
```

## So übertragen Sie Ihren SSH-Key in Ubuntu manuell

Nicht auf allen Systemen ist das im zweiten Schritt beschriebene Tool **ssh-copy-id** verfügbar. In diesem Fall können Sie den erstellten öffentlichen Schlüssel aber ganz einfach **manuell** auf das Zielsystem übertragen.

Lassen Sie sich zu diesem Zweck zunächst Ihren **öffentlichen Schlüssel anzeigen**, indem Sie folgendes Kommando ausführen:

```none
cat ~/.ssh/id_rsa.pub
```

[![Bild: Generierter öffentlicher SSH-Key im Ubuntu-Terminal](https://www.ionos.at/digitalguide/fileadmin/_processed_/b/c/csm_oeffentlicher-ssh-key-im-ubuntu-terminal_4bd2fdcf07.webp "Generierter öffentlicher SSH-Key im Ubuntu-Terminal")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/oeffentlicher-ssh-key-im-ubuntu-terminal.jpg) Generierter öffentlicher SSH-Key im Ubuntu-Terminal       Den ausgespielten Key kopieren Sie jetzt in die Datei „**authorized\_keys**“ im „**ssh**“-Verzeichnis auf dem Ziel-Host. Sollte das Verzeichnis noch nicht vorhanden sein, erstellen Sie es mit folgenden Kommandos:

```none
mkdir -p ~/.ssh
```

Die Übertragung des Schlüssels gelingt anschließend durch folgenden Befehl:

```none
echo Schlüssel >> ~/.ssh/authorized_keys
```

Anstelle von „Schlüssel“ tragen Sie in dem Kommando den zuvor erhaltenen Output ein, beginnend mit „ssh-rsa“.

Im letzten Schritt sorgen Sie dafür, dass für das „ssh“-Verzeichnis und die Datei „authorized\_keys“ alle Gruppen- und andere Berechtigungen entfernt werden:

```none
chmod -R go= ~/.ssh
```

---

### Tipp

Suchen Sie nach mehr Informationen zu den Themen „SSH“ und „Ubuntu“? Folgende Artikel im Digital Guide könnten Sie ebenfalls interessieren:

- [SSH auf Ubuntu aktivieren](https://www.ionos.at/digitalguide/server/konfiguration/ubuntu-ssh/)
- [SSH-Fehler beheben](https://www.ionos.at/digitalguide/server/knowhow/beheben-von-ssh-fehlern/)
- [Raspberry Pi als SSH-Server nutzen](https://www.ionos.at/digitalguide/server/konfiguration/raspberry-pi-ssh-server-starten-so-funktionierts/)
- [Ubuntu von USB-Stick installieren](https://www.ionos.at/digitalguide/server/tools/ubuntu-von-einem-usb-stick-installieren/)
- [Ubuntu-FTP-Server](https://www.ionos.at/digitalguide/server/konfiguration/ubuntu-ftp-server-installation-und-konfiguration/)

---


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/ssh-key-unter-ubuntu/](https://www.ionos.at/digitalguide/server/konfiguration/ssh-key-unter-ubuntu/) for AI/LLM consumption.