# SSH-Schlüssel zu deinen Servern hinzufügen

> SSH-Schlüssel in Vimonto Deploy: persönliche Schlüssel, Schlüssel der Organisation für jeden Server und Schlüssel für einen Server als Benutzer oder root.

Mit SSH-Schlüsseln melden sich Personen per `ssh` auf deinen Servern an. Server von Vimonto Deploy akzeptieren nur Anmeldungen per Schlüssel: Die Anmeldung per Passwort wird bei der [Provisionierung](https://ops.vimonto.com/docs/de/servers/provisioning) abgeschaltet. Um dich selbst anzumelden, brauchst du also einen Schlüssel auf dem Server.

Es gibt drei Orte für Schlüssel:

| Wo | Wofür | Wer kann es ändern |
| --- | --- | --- |
| **Account** → **SSH-Schlüssel** | Deine eigenen Schlüssel. Du wählst sie beim Anlegen eines Servers oder fügst sie später einem Server hinzu. | Du |
| **Einstellungen** → **SSH-Schlüssel** | Die Schlüssel der Organisation. Sie kommen auf jeden Server der Organisation, für den Server-Benutzer und root. | Owner, Administrator, Manager |
| Die Seite **SSH-Schlüssel** eines Servers | Die Schlüssel, mit denen man sich auf diesem einen Server anmelden darf, als dessen Benutzer oder als root. | Mitglieder, die Server verwalten dürfen |

Du fügst öffentliche Schlüssel hinzu. Private Schlüssel verlassen nie deinen Computer. Organisationsschlüssel und Schlüssel auf einem Server werden im [Audit-Log](https://ops.vimonto.com/docs/de/organization/audit-log) festgehalten.

![Die Seite SSH-Schlüssel im Account mit einem Formular zum Hinzufügen eines Schlüssels und einer Liste der Schlüssel mit ihren Fingerprints](https://ops.vimonto.com/docs-media/de/account-ssh-keys.webp?v=161e760d "Account → SSH-Schlüssel")

## Einen SSH-Schlüssel erstellen

Hast du noch keinen Schlüssel, erstelle einen auf deinem Computer:

```bash
ssh-keygen -t ed25519
```

Kopiere dann den Inhalt des öffentlichen Schlüssels, `~/.ssh/id_ed25519.pub`. Er sieht so aus: `ssh-ed25519 AAAA… name@computer`.

Vimonto Deploy akzeptiert Ed25519-, ECDSA- und RSA-Schlüssel, auch die Varianten für Security Keys (`sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com`). RSA-Schlüssel müssen mindestens 2048 Bit haben. Ed25519 ist die bessere Wahl.

## Einen persönlichen Schlüssel zu deinem Account hinzufügen

1. Öffne dein Account-Menü und gehe zu **SSH-Schlüssel**.
2. Gib unter **Schlüssel hinzufügen** einen **Name** ein (zum Beispiel „Laptop von Luuk“) und füge den **Öffentlicher Schlüssel** ein.
3. Wähle **Schlüssel hinzufügen**.

Deine Account-Schlüssel gehören dir, nicht einer Organisation. Sie werden im [Assistenten für neue Server](https://ops.vimonto.com/docs/de/servers/create-a-server) unter **Deine SSH-Schlüssel** angeboten, wo standardmäßig alle ausgewählt sind. Einem bestehenden Server fügst du sie auf seiner Seite **SSH-Schlüssel** hinzu.

Jeder Schlüssel zeigt seinen Fingerprint (SHA256), damit du ihn mit `ssh-keygen -lf ~/.ssh/id_ed25519.pub` abgleichen kannst. Derselbe Schlüssel lässt sich nicht zweimal hinzufügen.

## Schlüssel der Organisation für das ganze Team hinzufügen

Schlüssel der Organisation sind für Personen, die sich auf jedem Server anmelden müssen, zum Beispiel dein Operations-Team oder ein CI-System.

1. Öffne **Einstellungen** → **SSH-Schlüssel**.
2. Gib einen **Name** ein, füge den **Öffentlicher Schlüssel** ein und wähle **Schlüssel hinzufügen**.

Schlüssel der Organisation kommen immer auf neue Server, sowohl für den Server-Benutzer (standardmäßig `vimonto`) als auch für root. Im Assistenten kannst du sie nicht weglassen.

Einen Schlüssel, den du der Organisation hinzufügst, bekommt auch jeder aktive Server sofort, für den Server-Benutzer und root, als Aufgabe pro Server, die du verfolgen kannst. Auf der Seite **SSH-Schlüssel** jedes Servers wird der Schlüssel zuerst als „wird installiert“ und dann als installiert angezeigt; hat es dort nicht geklappt, wähle **Erneut versuchen**. Ein Server, der den Schlüssel für einen Benutzer schon hat, bleibt unverändert, und Server, die noch provisioniert werden, bekommen den Schlüssel bei der Provisionierung.

![Die Seite SSH-Schlüssel der Organisation in den Einstellungen](https://ops.vimonto.com/docs-media/de/org-ssh-keys.webp?v=161e760d "Einstellungen → SSH-Schlüssel")

## Einen Schlüssel zu einem Server hinzufügen

1. Öffne den Server und gehe zu **SSH-Schlüssel**.
2. Wähle **Schlüssel hinzufügen**.
3. Wähle unter **Schlüssel** einen deiner Account-Schlüssel oder **Anderen Schlüssel einfügen** und gib einen **Name** und **Öffentlicher Schlüssel** ein.
4. Wähle unter **Anmelden als** den Server-Benutzer (standardmäßig `vimonto`) oder `root`.
5. Wähle **Schlüssel hinzufügen**.

Vimonto Deploy fügt den Schlüssel auf dem Server in die `~/.ssh/authorized_keys` des Benutzers ein, als Aufgabe, die du verfolgen kannst. Der Schlüssel wird zuerst als „wird installiert“ und dann als installiert angezeigt. Ist es fehlgeschlagen, wähle **Erneut versuchen**. Ein Schlüssel kann pro Benutzer einmal auf einem Server sein. Du kannst denselben Schlüssel also sowohl für `vimonto` als auch für `root` hinzufügen.

Dafür brauchst du eine Rolle, die Server verwalten darf (Owner, Administrator, Manager oder Developer), und einen aktiven Server. Mitglieder, deren Zugriff auf ihre [Teams](https://ops.vimonto.com/docs/de/organization/teams) beschränkt ist, sehen nur die Server ihrer Teams und können nur dort Schlüssel hinzufügen.

![Die Seite SSH-Schlüssel eines Servers mit den Schlüsseln, ihrem Benutzer und Fingerprint](https://ops.vimonto.com/docs-media/de/server-ssh-keys.webp?v=161e760d "Die SSH-Schlüssel eines Servers")

Die Liste des Servers zeigt auch die Schlüssel, die bei der Provisionierung installiert wurden, für den Server-Benutzer und root: die beim Anlegen des Servers gewählten Account-Schlüssel und die Schlüssel der Organisation.

## Einen Schlüssel von einem Server entfernen

Wähle auf der Seite **SSH-Schlüssel** des Servers neben dem Schlüssel **Entfernen** und bestätige. Wer diesen Schlüssel nutzt, kann sich dann nicht mehr als dieser Benutzer auf dem Server anmelden.

## Einen Account- oder Organisationsschlüssel löschen

Wähle neben dem Schlüssel **Löschen** und bestätige.

- Ein **Account-Schlüssel** wird für neue Server nicht mehr angeboten. Server, die ihn schon haben, behalten ihn, bis du ihn auf ihrer Seite **SSH-Schlüssel** entfernst.
- Ein **Schlüssel der Organisation** kommt nicht mehr auf neue Server und wird von jedem aktiven Server der Organisation entfernt, für den Server-Benutzer und root. Ein Server, der nicht aktiv ist (zum Beispiel weil die Provisionierung fehlgeschlagen ist), behält den Schlüssel, bis du ihn auf seiner Seite **SSH-Schlüssel** entfernst, sobald der Server aktiv ist. Eine Kopie des Schlüssels, die jemand von Hand zu einem Server hinzugefügt hat, bleibt auf diesem Server.

> [!WARNING]
> Verlässt jemand dein Team, lösche seinen Schlüssel in der Organisation oder im Account. Ein Schlüssel der Organisation verschwindet dann von deinen aktiven Servern; einen Account-Schlüssel und jede von Hand hinzugefügte Kopie entfernst du zusätzlich auf der Seite **SSH-Schlüssel** jedes Servers.

## Auf einem Server anmelden

Ist dein Schlüssel auf dem Server, meldest du dich als Server-Benutzer an:

```bash
ssh vimonto@203.0.113.10
```

Nutze die öffentliche IP-Adresse des Servers aus seiner Übersicht. Lauscht ein eigener VPS auf einem anderen SSH-Port, brauchst du `-p`, zum Beispiel `ssh -p 2222 vimonto@203.0.113.10`. Der Server-Benutzer hat sudo-Rechte. `sudo` fragt nach dem Sudo-Passwort, das der Person, die den Server angelegt hat, einmalig angezeigt wurde. Root akzeptiert dieselben Schlüssel (`ssh root@…`), hat aber kein Passwort. Arbeitest du lieber im Browser? Nutze das [Terminal](https://ops.vimonto.com/docs/de/servers/terminal).

## Häufige Fragen

### Warum kann ich mich nicht mit einem Passwort anmelden?

Die Provisionierung schaltet in SSH die Anmeldung per Passwort und keyboard-interactive ab und erlaubt root nur mit einem Schlüssel. Das schützt den Server vor dem Erraten von Passwörtern. Füge stattdessen deinen Schlüssel zum Server hinzu.

### Was ist der Schlüssel unter „Öffentlicher Schlüssel des Servers“?

Das ist der eigene Schlüssel des Servers, mit dem er Repositories klont. Er ist nicht zum Anmelden gedacht. Füge ihn bei deinem Git-Host hinzu, wenn eine Site ohne eigenen Deploy Key deployt. Siehe [Git-Accounts](https://ops.vimonto.com/docs/de/connections/source-control).

### Hat Vimonto Deploy einen eigenen Schlüssel auf meinen Servern?

Ja. Jeder Server bekommt beim Anlegen sein eigenes Ed25519-Schlüsselpaar. Damit verbindet sich Vimonto Deploy per SSH für die Provisionierung, Deployments und alles andere. Es ist für jeden Server einzigartig.

### Kann ich denselben Schlüssel auf allen Servern verwenden?

Ja. Füge ihn als Schlüssel der Organisation hinzu, damit er auf jeden Server kommt, auch auf die, die du schon hast, oder füge deinen Account-Schlüssel den Servern hinzu, die du brauchst.
