# Sech iwwer SSH verbannen

Äre VPS Pro geet mat Ärem **SSH-Schlëssel** op: e Pair vu Fichieren, dat op Ärem Computer erstallt gëtt, an deem säin **ëffentlechen** Deel Dir an Ärem Clientsberäich späichert. De **private** Deel bleift op Ärem Computer a geet u keen, och net un eis Equipe.

## Äre Schlëssel erstellen

Op macOS, Linux a Windows 10 oder 11 (PowerShell oder den Terminal), een eenzege Befeel:

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

Akzeptéiert déi proposéiert Plaz, a wielt eng Passphrase, fir de Schlëssel ze schützen. Zwee Fichieren erschéngen am Dossier `.ssh` vun Ärem Kont:

* `id_ed25519`: Äre **private** Schlëssel, deen bei Iech bleift;
* `id_ed25519.pub`: Ären **ëffentleche** Schlëssel, deen Dir späichert. E steet op enger Zeil, déi mat `ssh-ed25519` ufänkt.

Fir den ëffentleche Schlëssel unzeweisen an ze kopéieren:

```
cat ~/.ssh/id_ed25519.pub
```

## Äre Schlëssel am Clientsberäich späicheren

1. Maacht [my.simafri.com](https://my.simafri.com/) op, Rubrik **VPS**.
2. Fügt an der Kaart vun Ärem Server Ären ëffentleche Schlëssel an d'Feld **Är ëffentlech Schlësselen, een pro Zeil** an.
3. Klickt op **Schlësselen späicheren**.

Äre Schlëssel gëtt bannent enger Minutt um Server installéiert, an d'Kaart weist et: **Um Server installéiert de**, gefollegt vum Datum, mam Fangerofdrock vun all Schlëssel (`SHA256:...`, dee selwechten, deen `ssh-keygen -lf ~/.ssh/id_ed25519.pub` weist). Wann Dir de Schlëssel während der Virbereedung vum Server späichert, gëtt en installéiert, soubal de Server erstallt gëtt.

Gutt ze wëssen:

* bis zu **10 Schlësselen** pro Server, ee pro Persoun oder pro Computer;
* akzeptéiert Typen: **ed25519**, **RSA** mat mindestens 2048 Bit, **ECDSA**, an d'Hardware-Sécherheetsschlësselen (`sk-ssh-ed25519`, `sk-ecdsa`); de PuTTYgen-Format gëtt och akzeptéiert;
* all Späicheren **ersetzt** all d'Schlësselen, déi gespäichert sinn: fügt all déi an, déi Dir behale wëllt;
* de Besëtzer vum Kont an d'**Verwalter** späicheren d'Schlësselen; en **Operateur** kuckt se (kuckt [Memberen a Rollen](https://docs.simafri.com/lu/espace-client/membres-et-roles/)).

D'Schlësselen, déi aus dem Clientsberäich gespäichert ginn, hunn hiren eegene Block am Fichier `/root/.ssh/authorized_keys`, tëscht zwou Markéierungszeilen `my.simafri.com`. De Rescht vum Fichier gehéiert Iech: e Schlëssel, deen Dir selwer do derbäisetzt, ausserhalb vun dësem Block, bleift op senger Plaz.

## Sech verbannen

D'Kaart vun Ärem Server weist de Befeel **SSH-Verbindung**, prett fir ze kopéieren:

```
ssh -p 22101 root@203.0.113.10
```

De Port, tëscht 22100 an 22999, gehéiert nëmmen zu Ärem Server: huelt deen aus Ärer Kaart. Den Numm vun Ärem Server funktionéiert och amplaz vun der Adress:

```
ssh -p 22101 root@app.meng-firma.lu
```

Fir e Server, deem säin Numm ënner Ärem eegenen Domain ass, äntwert dësen Numm, soubal Är DNS-Androung op Äre Server weist (kuckt [Eng Websäit oder eng Applikatioun online stellen](/lu/vps-pro/mettre-en-ligne.md)).

### Iwwer IPv6

Wann Är Internetverbindung IPv6 huet, erreecht Dir Äre Server och direkt iwwer seng IPv6-Adress, déi an der Kaart ugewise gëtt, um gewéinleche SSH-Port:

```
ssh root@2001:db8::101
```

### Eng Ofkierzung: de Fichier \~/.ssh/config

Fir de Port an d'Adress net méi all Kéier anzeginn, setzt e Block an Äre Fichier `~/.ssh/config` derbäi:

```
Host monvps

    HostName app.meng-firma.lu

    Port 22101

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Duerno geet `ssh monvps` duer, an déi selwecht Ofkierzung déngt fir `scp`, `rsync`, `git` an Ären Editor.

## Vu Windows aus

Windows 10 an 11 hunn den OpenSSH-Client dobäi: maacht PowerShell oder den Terminal op a fügt de Befeel aus Ärer Kaart an. Äre Fichier mat den Ofkierzunge läit an `C:\Users\<Ären Numm>\.ssh\config`.

Mat **PuTTY** gitt Dir d'Adress an de Port aus Ärer Kaart an **Session** an, de Benotzer `root` an **Connection > Data**, an Äre private Schlëssel am Format `.ppk` an **Connection > SSH > Auth > Credentials**. Den ëffentleche Schlëssel, deen PuTTYgen weist, gëtt esou, wéi en ass, an Ärem Clientsberäich gespäichert.

## Fichieren transferéieren

Mat deemselwechte Port an deemselwechte Schlëssel:

```
# e Fichier, op de Server

scp -P 22101 archive.tar.gz root@app.meng-firma.lu:/srv/



# en Dossier, synchroniséiert

rsync -avz -e "ssh -p 22101" ./build/ root@app.meng-firma.lu:/var/www/app/
```

`scp` hëlt de Port mat engem **groussen P**. SFTP-Programmer wéi FileZilla oder WinSCP verbanne sech iwwer **SFTP**, mat der Adress, dem Port an dem private Schlëssel vun Ärem Computer.

## Aus Ärem Editor schaffen

D'Extensioun **Remote - SSH** vu Visual Studio Code mécht d'Dossiere vun Ärem Server op, wéi wa se op Ärem Computer wieren: si liest Äre Fichier `~/.ssh/config`, Dir braucht just `monvps` ze wielen. D'JetBrains-Editoren bidden déi selwecht Verbindung iwwer **Remote Development** un.

## Engem Kolleeg Zougang ginn

Zwou Méiglechkeeten, jee nodeem, wat Dir him uvertraue wëllt:

* **en Administrateurszougang**: setzt säin ëffentleche Schlëssel nieft Ärem an d'Feld **Är ëffentlech Schlësselen, een pro Zeil**, an dann **Schlësselen späicheren**;
* **e limitéierten Zougang**: leet him e Kont um Server un, mat sengem eegene Schlëssel:

```
adduser camille

mkdir -p /home/camille/.ssh

nano /home/camille/.ssh/authorized_keys   # säin ëffentleche Schlëssel afügen

chown -R camille:camille /home/camille/.ssh

chmod 700 /home/camille/.ssh && chmod 600 /home/camille/.ssh/authorized_keys
```

Fir en Zougang zréckzezéien, späichert d'Lëscht vun de Schlësselen ouni säin, oder läscht säi Kont mat `deluser camille`.

## E verluerene Schlëssel ersetzen

Äre Computer huet gewiesselt oder Äre private Schlëssel ass verschwonnen: erstellt en neie Schlëssel mat `ssh-keygen -t ed25519`, a späichert dann den neien ëffentleche Schlëssel an Ärer Kaart, andeems Dir deen ale ewechhuelt. E gëtt bannent enger Minutt installéiert, an Dir hutt erëm Zougang zu Ärem Server.

## Äre KI-Assistent

E KI-Assistent, deen un Äre Simafri-Clientsberäich ugeschloss ass (MCP-Server `https://mcp.simafri.com/v1/mcp`), liest Är Serveren, hire Statut, hir Adressen an hire Befeel fir d'Verbindung, a späichert Är **ëffentlech** Schlësselen fir Iech, mat de Rechter vun der ugemellter Persoun. E private Schlëssel gëtt do refuséiert, grad wéi am Clientsberäich.

## Dacks gestallte Froen

### „Permission denied (publickey)“: wat soll ech iwwerpréiwen?

1. D'Kaart vun Ärem Server weist **Um Server installéiert de**, gefollegt vun engem Datum.
2. De Fangerofdrock an der Kaart ass dee vun Ärem Schlëssel: `ssh-keygen -lf ~/.ssh/id_ed25519.pub`.
3. Äre Befeel benotzt de Port aus Ärer Kaart, an de Benotzer `root`.
4. Wann Äre Schlëssel en aneren Numm huet, gitt en un: `ssh -i ~/.ssh/ma_cle -p 22101 root@...`.

Beschreift dann d'Situatioun dem Support, mam Befeel, deen Dir gestart hutt, an der Meldung, déi Dir kritt hutt: de Full-Stack-Support hëlleft Iech, den Zougang erëm hierzestellen.

### Meng Verbindung brécht of, wann ech inaktiv sinn.

Setzt `ServerAliveInterval 60` an Äre Block an `~/.ssh/config`: Äre Computer hält d'Verbindung lieweg. E laange Befeel start Dir an `tmux` oder `screen`, déi en och ouni Verbindung weiderlafe loossen.

### De Clientsberäich weist „Dësen Text enthält e PRIVATE Schlëssel“.

Dir hutt de Fichier ouni `.pub` agefüügt. Fügt den Inhalt vum Fichier an, deen op `.pub` ophält. Wann Äre private Schlëssel aus Versinn engem geschéckt gouf, erstellt en neien a späichert säin ëffentleche Schlëssel.

### Kann ech mech mat engem Passwuert verbannen?

Äre Server geet mat engem SSH-Schlëssel op, der sécherster Method: e Schlëssel léisst sech net erroden an zirkuléiert ni. Späichert ee Schlëssel pro Persoun, an all Persoun behält hiren eegenen Zougang.
