# Sich verbinden

## Ihr SSH-Schlüssel

Ihr VPS Ultra unter Linux öffnet sich mit Ihrem **SSH-Schlüssel**: einem Dateipaar, das auf Ihrem Computer erstellt wird. Der **öffentliche** Teil wird auf dem Server eingerichtet; der **private** Teil bleibt auf Ihrem Computer und geht an niemanden, auch nicht an unser Team.

Unter macOS, Linux und Windows 10 oder 11 (PowerShell oder das Terminal):

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

Übernehmen Sie den vorgeschlagenen Speicherort und wählen Sie eine Passphrase. Ihr öffentlicher Schlüssel ist die Datei `id_ed25519.pub`: eine Zeile, die mit `ssh-ed25519` beginnt. Übermitteln Sie ihn unserem Team bei der Bestellung: Wir richten ihn bei der Vorbereitung auf Ihrem Server ein.

## Per SSH verbinden

Die Karte Ihres Servers, Rubrik **VPS** Ihres Kundenbereichs, zeigt den Befehl **SSH-Verbindung**:

```
ssh root@203.0.113.20
```

Ihr Server hat seine eigene IPv4-Adresse: Die Verbindung erfolgt über den üblichen SSH-Port, 22, oder über den, den Sie in `/etc/ssh/sshd_config` wählen. Sobald Ihre Domain auf Ihren Server verweist, funktioniert auch sein Name: `ssh root@app.meine-firma.de`.

### Eine Abkürzung: die Datei \~/.ssh/config

```
Host monultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Danach genügt `ssh monultra`, und dieselbe Abkürzung dient für `scp`, `rsync`, `git` und Ihren Editor.

## Einen Schlüssel hinzufügen oder ersetzen

Die Schlüssel Ihres Servers liegen in `/root/.ssh/authorized_keys`, einer pro Zeile, und Sie verwalten sie selbst:

* **einen Kollegen hinzufügen**: Fügen Sie seinen öffentlichen Schlüssel in einer neuen Zeile der Datei ein, oder legen Sie ihm ein eigenes Konto an (`adduser`), mit seinem Schlüssel in `/home/<sein Konto>/.ssh/authorized_keys`;
* **einen Zugang entziehen**: Löschen Sie seine Zeile;
* **den Computer wechseln**: Fügen Sie Ihren neuen öffentlichen Schlüssel hinzu, bevor Sie den alten entfernen.

Ihr privater Schlüssel ist verschwunden und kein Schlüssel öffnet Ihnen mehr den Server? Senden Sie Ihren neuen öffentlichen Schlüssel an den Support: Unser Team richtet ihn auf Ihrem Server ein.

## Dateien übertragen

```
# eine Datei, zum Server

scp archive.tar.gz root@203.0.113.20:/srv/



# ein Ordner, synchronisiert

rsync -avz ./build/ root@203.0.113.20:/var/www/app/
```

SFTP-Programme wie FileZilla oder WinSCP verbinden sich per **SFTP**, mit der Adresse Ihres Servers und Ihrem privaten Schlüssel.

## Aus Ihrem Editor arbeiten

Die Erweiterung **Remote - SSH** von Visual Studio Code öffnet die Ordner Ihres Servers, als lägen sie auf Ihrem Computer: Sie liest Ihre Datei `~/.ssh/config`, und es genügt, `monultra` zu wählen. Die JetBrains-Editoren bieten dieselbe Verbindung über **Remote Development**.

## Windows Server: der Remotedesktop

Ein VPS Ultra unter Windows Server öffnet sich über den **Remotedesktop** (RDP):

1. Starten Sie unter Windows die **Remotedesktopverbindung** (`mstsc`); unter macOS die App **Windows App** von Microsoft; unter Linux Remmina.
2. Geben Sie die IPv4-Adresse Ihres Servers ein, die in seiner Karte angezeigt wird.
3. Melden Sie sich mit dem Administratorkonto an, das Ihnen unser Team bei der Übergabe mitgeteilt hat, und ändern Sie dessen Passwort bei der ersten Sitzung.

Schützen Sie anschließend Ihren Zugang: ein langes und einzigartiges Passwort, und den Remotedesktop in der Windows-Firewall auf Ihre Adressen beschränkt.

## Häufige Fragen

### „Permission denied (publickey)“: Was prüfen?

1. Der verwendete Schlüssel ist der, den Sie uns übermittelt haben: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` zeigt seinen Fingerabdruck.
2. Ihr Befehl nennt den Benutzer `root` und die Adresse aus Ihrer Karte.
3. Trägt Ihr Schlüssel einen anderen Namen, geben Sie ihn an: `ssh -i ~/.ssh/ma_cle root@...`.

Beschreiben Sie dann die Lage dem Support, mit dem ausgeführten Befehl und der erhaltenen Meldung: Der Full-Stack-Support hilft Ihnen, den Zugang wiederherzustellen.

### Meine Verbindung bricht ab, wenn ich inaktiv bin.

Fügen Sie `ServerAliveInterval 60` Ihrem Block in `~/.ssh/config` hinzu, und starten Sie lange Befehle in `tmux` oder `screen`, die sie auch nach dem Trennen der Verbindung am Leben halten.
