# Sech verbannen

## Ären SSH-Schlëssel

Äre VPS Ultra ënner Linux geet mat Ärem **SSH-Schlëssel** op: e Pair vu Fichieren, dat op Ärem Computer erstallt gëtt. Den **ëffentlechen** Deel gëtt um Server installéiert; de **private** Deel bleift op Ärem Computer a geet u keen, och net un eis Equipe.

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

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

Akzeptéiert déi proposéiert Plaz a wielt eng Passphrase. Ären ëffentleche Schlëssel ass de Fichier `id_ed25519.pub`: eng Zeil, déi mat `ssh-ed25519` ufänkt. Schéckt en eiser Equipe bei der Bestellung: mir installéieren en op Ärem Server, wa mir en preparéieren.

## Sech iwwer SSH verbannen

D'Kaart vun Ärem Server, Rubrik **VPS** vun Ärem Clientsberäich, weist de Befeel **SSH-Verbindung**:

```
ssh root@203.0.113.20
```

Äre Server huet seng eege IPv4-Adress: d'Verbindung geschitt um gewéinleche SSH-Port, 22, oder op deem, deen Dir an `/etc/ssh/sshd_config` wielt. Soubal Ären Domain op Äre Server weist, funktionéiert säin Numm och: `ssh root@app.meng-firma.lu`.

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

```
Host monultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

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

## E Schlëssel derbäisetzen oder ersetzen

D'Schlëssele vun Ärem Server stinn an `/root/.ssh/authorized_keys`, ee pro Zeil, an Dir verwalt se selwer:

* **e Kolleeg derbäisetzen**: fügt säin ëffentleche Schlëssel op enger neier Zeil vum Fichier an, oder leet him en eegene Kont un (`adduser`), mat sengem Schlëssel an `/home/<säi Kont>/.ssh/authorized_keys`;
* **en Zougang zréckzéien**: läscht seng Zeil;
* **de Computer wiesselen**: setzt Ären neien ëffentleche Schlëssel derbäi, ier Dir deen ale ewechhuelt.

Äre private Schlëssel ass verschwonnen, a kee Schlëssel mécht Iech de Server méi op? Schéckt Ären neien ëffentleche Schlëssel un de Support: eis Equipe installéiert en op Ärem Server.

## Fichieren transferéieren

```
# e Fichier, op de Server

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



# en Dossier, synchroniséiert

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

SFTP-Programmer wéi FileZilla oder WinSCP verbanne sech iwwer **SFTP**, mat der Adress vun Ärem Server an Ärem private Schlëssel.

## 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 `monultra` ze wielen. D'JetBrains-Editoren bidden déi selwecht Verbindung iwwer **Remote Development** un.

## Windows Server: de Remote Desktop

E VPS Ultra ënner Windows Server geet iwwer de **Remote Desktop** (RDP) op:

1. Op Windows start Dir **Remotedesktopverbindung** (`mstsc`); op macOS d'App **Windows App** vu Microsoft; op Linux Remmina.
2. Gitt d'IPv4-Adress vun Ärem Server an, déi a senger Kaart steet.
3. Mellt Iech mam Administrateurskont un, deen eis Equipe Iech bei der Liwwerung ginn huet, an ännert säi Passwuert bei der éischter Sessioun.

Schützt duerno Ären Zougang: e laangt an eenzegaartegt Passwuert, an de Remote Desktop an der Windows-Firewall op Är Adresse beschränkt.

## Dacks gestallte Froen

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

1. De Schlëssel, deen Dir benotzt, ass deen, deen Dir eis geschéckt hutt: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` weist säi Fangerofdrock.
2. Äre Befeel benotzt de Benotzer `root` an d'Adress aus Ärer Kaart.
3. Wann Äre Schlëssel en aneren Numm huet, gitt en un: `ssh -i ~/.ssh/ma_cle 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`, a start laang Befeeler an `tmux` oder `screen`, déi se och ouni Verbindung weiderlafe loossen.
