# Verbinding maken via SSH

Uw VPS Pro opent u met uw **SSH-sleutel**: een paar bestanden dat op uw computer wordt aangemaakt, waarvan u het **openbare** deel in uw klantenruimte opslaat. Het **privédeel** blijft op uw computer en geeft u aan niemand door, ook niet aan ons team.

## Uw sleutel aanmaken

Op macOS, Linux en Windows 10 of 11 (PowerShell of de Terminal) volstaat één opdracht:

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

Aanvaard de voorgestelde locatie en kies een wachtwoordzin om de sleutel te beschermen. Er verschijnen twee bestanden in de map `.ssh` van uw account:

* `id_ed25519`: uw **privésleutel**, die bij u blijft;
* `id_ed25519.pub`: uw **openbare** sleutel, die u opslaat. Die past op één regel die begint met `ssh-ed25519`.

Om de openbare sleutel te tonen en te kopiëren:

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

## Uw sleutel opslaan in de klantenruimte

1. Open [my.simafri.com](https://my.simafri.com/), rubriek **VPS**.
2. Plak in de kaart van uw server uw openbare sleutel in **Uw openbare sleutels, één per regel**.
3. Klik op **Sleutels opslaan**.

Uw sleutel wordt binnen een minuut op de server gezet, en de kaart meldt dat: **Op de server gezet op** gevolgd door de datum, met de vingerafdruk van elke sleutel (`SHA256:...`, dezelfde die `ssh-keygen -lf ~/.ssh/id_ed25519.pub` toont). Slaat u de sleutel op tijdens de voorbereiding van de server, dan wordt die bij het aanmaken gezet.

Goed om te weten:

* tot **10 sleutels** per server, één per persoon of per computer;
* geaccepteerde types: **ed25519**, **RSA** van minstens 2048 bits, **ECDSA**, en hardwarematige beveiligingssleutels (`sk-ssh-ed25519`, `sk-ecdsa`); het PuTTYgen-formaat wordt ook geaccepteerd;
* elke opslag **vervangt** alle opgeslagen sleutels: plak alle sleutels die u wilt houden;
* de eigenaar van het account en de **managers** slaan de sleutels op; een **operator** bekijkt ze (zie [Leden en rollen](https://docs.simafri.com/nl/espace-client/membres-et-roles/)).

De sleutels die vanuit de klantenruimte zijn opgeslagen, staan in een eigen blok van het bestand `/root/.ssh/authorized_keys`, tussen twee markeringsregels `my.simafri.com`. De rest van het bestand is van u: een sleutel die u er zelf aan toevoegt, buiten dat blok, blijft staan.

## Verbinding maken

De kaart van uw server toont de opdracht **SSH-verbinding**, klaar om te kopiëren:

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

De poort, tussen 22100 en 22999, is eigen aan uw server: neem die uit uw kaart over. De naam van uw server werkt ook in plaats van het adres:

```
ssh -p 22101 root@app.mijn-bedrijf.nl
```

Valt de naam van uw server onder uw eigen domein, dan antwoordt die naam zodra uw DNS-record naar uw server wijst (zie [Een website of applicatie online zetten](/nl/vps-pro/mettre-en-ligne.md)).

### Via IPv6

Heeft uw internetverbinding IPv6, dan bereikt u uw server ook rechtstreeks via zijn IPv6-adres, dat in de kaart staat, op de gebruikelijke SSH-poort:

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

### Een snelkoppeling: het bestand \~/.ssh/config

Om de poort en het adres niet meer te hoeven intypen, voegt u een blok toe aan uw bestand `~/.ssh/config`:

```
Host mijnvps

    HostName app.mijn-bedrijf.nl

    Port 22101

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Daarna volstaat `ssh mijnvps`, en dezelfde snelkoppeling werkt voor `scp`, `rsync`, `git` en uw editor.

## Vanuit Windows

Windows 10 en 11 hebben de OpenSSH-client ingebouwd: open PowerShell of de Terminal en plak de opdracht uit uw kaart. Uw bestand met snelkoppelingen staat in `C:\Users\<uw naam>\.ssh\config`.

Met **PuTTY** vult u het adres en de poort uit uw kaart in bij **Session**, de gebruiker `root` bij **Connection > Data**, en uw privésleutel in het `.ppk`-formaat bij **Connection > SSH > Auth > Credentials**. De openbare sleutel die PuTTYgen toont, slaat u ongewijzigd op in uw klantenruimte.

## Bestanden overzetten

Met dezelfde poort en dezelfde sleutel:

```
# een bestand, naar de server

scp -P 22101 archive.tar.gz root@app.mijn-bedrijf.nl:/srv/



# een map, gesynchroniseerd

rsync -avz -e "ssh -p 22101" ./build/ root@app.mijn-bedrijf.nl:/var/www/app/
```

`scp` neemt de poort met een **hoofdletter P**. SFTP-programma's zoals FileZilla of WinSCP maken verbinding via **SFTP**, met het adres, de poort en de privésleutel van uw computer.

## Werken vanuit uw editor

De extensie **Remote - SSH** van Visual Studio Code opent de mappen van uw server alsof ze op uw computer staan: ze leest uw bestand `~/.ssh/config`, u hoeft alleen `mijnvps` te kiezen. De editors van JetBrains bieden dezelfde verbinding via **Remote Development**.

## Een collega toegang geven

Twee manieren, afhankelijk van wat u uw collega wilt toevertrouwen:

* **beheerderstoegang**: voeg de openbare sleutel van uw collega toe naast de uwe in **Uw openbare sleutels, één per regel**, en klik daarna op **Sleutels opslaan**;
* **beperkte toegang**: maak voor uw collega een account op de server aan, met een eigen sleutel:

```
adduser sanne

mkdir -p /home/sanne/.ssh

nano /home/sanne/.ssh/authorized_keys   # plak de openbare sleutel van uw collega

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

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

Om een toegang in te trekken, slaat u de lijst met sleutels op zonder die van uw collega, of verwijdert u het account met `deluser sanne`.

## Een verloren sleutel vervangen

Uw computer is vervangen of uw privésleutel is verdwenen: maak een nieuwe sleutel aan met `ssh-keygen -t ed25519` en sla daarna de nieuwe openbare sleutel op in uw kaart, zonder de oude. Die wordt binnen een minuut gezet, en u hebt weer toegang tot uw server.

## Uw AI-assistent

Een AI-assistent die gekoppeld is aan uw Simafri-klantenruimte (MCP-server `https://mcp.simafri.com/v1/mcp`) leest uw servers, hun status, hun adressen en hun verbindingsopdracht, en slaat uw **openbare** sleutels voor u op, met de rechten van de aangemelde persoon. Een privésleutel wordt daar geweigerd, net als in de klantenruimte.

## Veelgestelde vragen

### "Permission denied (publickey)": wat controleer ik?[​](#permission-denied-publickey-wat-controleer-ik "Directe link naar \"Permission denied (publickey)\": wat controleer ik?")

1. De kaart van uw server toont **Op de server gezet op** gevolgd door een datum.
2. De vingerafdruk in de kaart is die van uw sleutel: `ssh-keygen -lf ~/.ssh/id_ed25519.pub`.
3. Uw opdracht vermeldt de poort uit uw kaart en de gebruiker `root`.
4. Heeft uw sleutel een andere naam, geef die dan op: `ssh -i ~/.ssh/mijn_sleutel -p 22101 root@...`.

Beschrijf daarna de situatie aan de ondersteuning, met de uitgevoerde opdracht en de ontvangen melding: Full-Stack Support helpt u de toegang te herstellen.

### Mijn verbinding valt weg als ik inactief blijf.

Voeg `ServerAliveInterval 60` toe aan uw blok in `~/.ssh/config`: uw computer houdt de verbinding dan in leven. Start een lange opdracht in `tmux` of `screen`, die haar laten doorlopen, ook als de verbinding wegvalt.

### De klantenruimte meldt "Deze tekst bevat een PRIVÉSLEUTEL".[​](#de-klantenruimte-meldt-deze-tekst-bevat-een-privésleutel "Directe link naar De klantenruimte meldt \"Deze tekst bevat een PRIVÉSLEUTEL\".")

U hebt het bestand zonder `.pub` geplakt. Plak de inhoud van het bestand dat op `.pub` eindigt. Is uw privésleutel per vergissing naar iemand gestuurd, maak dan een nieuwe aan en sla de openbare sleutel daarvan op.

### Kan ik verbinding maken met een wachtwoord?

Uw server opent met een SSH-sleutel, de veiligste methode: een sleutel is niet te raden en gaat nooit over de lijn. Sla één sleutel per persoon op, en iedereen houdt een eigen toegang.
