# Pripojenie cez SSH

Váš VPS Pro sa otvára vaším **kľúčom SSH**: dvojicou súborov vytvorených na vašom počítači, z ktorých **verejnú** časť uložíte vo svojej zákazníckej zóne. **Súkromná** časť zostáva na vašom počítači a nikomu sa neodovzdáva, ani nášmu tímu.

## Vytvorenie kľúča

Na macOS, Linuxe a Windows 10 alebo 11 (PowerShell alebo Terminál) stačí jediný príkaz:

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

Potvrďte navrhované umiestnenie a zvoľte prístupovú frázu na ochranu kľúča. V priečinku `.ssh` vášho účtu sa objavia dva súbory:

* `id_ed25519`: váš **súkromný** kľúč, ktorý zostáva u vás;
* `id_ed25519.pub`: váš **verejný** kľúč, ten, ktorý uložíte. Zmestí sa na jeden riadok, ktorý začína `ssh-ed25519`.

Zobrazenie verejného kľúča na skopírovanie:

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

## Uloženie kľúča v zákazníckej zóne

1. Otvorte [my.simafri.com](https://my.simafri.com/), sekciu **VPS**.
2. Na karte svojho servera vložte svoj verejný kľúč do poľa **Vaše verejné kľúče, jeden na riadok**.
3. Kliknite na **Uložiť kľúče**.

Váš kľúč sa na server nainštaluje do minúty a karta to zobrazí: **Nainštalované na server** a za tým dátum, s odtlačkom každého kľúča (`SHA256:...`, rovnakým, aký zobrazí `ssh-keygen -lf ~/.ssh/id_ed25519.pub`). Ak kľúč uložíte počas prípravy servera, nainštaluje sa pri jeho vytvorení.

Dobré vedieť:

* až **10 kľúčov** na server, jeden na osobu alebo na počítač;
* podporované typy: **ed25519**, **RSA** s aspoň 2048 bitmi, **ECDSA** a hardvérové bezpečnostné kľúče (`sk-ssh-ed25519`, `sk-ecdsa`); prijíma sa aj formát PuTTYgen;
* každé uloženie **nahradí** celú sadu uložených kľúčov: vložte všetky, ktoré chcete ponechať;
* kľúče ukladá vlastník účtu a **správcovia**; **operátor** si ich môže prezerať (pozri [Členovia a roly](https://docs.simafri.com/sk/espace-client/membres-et-roles/)).

Kľúče uložené zo zákazníckej zóny majú v súbore `/root/.ssh/authorized_keys` vlastný blok, medzi dvoma značkovacími riadkami `my.simafri.com`. Zvyšok súboru patrí vám: kľúč, ktorý tam pridáte sami, mimo tohto bloku, zostane na mieste.

## Pripojenie

Karta vášho servera zobrazuje príkaz **Pripojenie SSH**, pripravený na skopírovanie:

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

Port, v rozsahu 22100 až 22999, patrí len vášmu serveru: použite ten zo svojej karty. Namiesto adresy funguje aj názov vášho servera:

```
ssh -p 22101 root@app.moja-firma.sk
```

Pri serveri, ktorého názov je pod vašou vlastnou doménou, tento názov odpovedá, hneď ako váš záznam DNS ukazuje na váš server (pozri [Nasadenie webu alebo aplikácie](/sk/vps-pro/mettre-en-ligne.md)).

### Cez IPv6

Ak vaše internetové pripojenie podporuje IPv6, k serveru sa pripojíte aj priamo cez jeho adresu IPv6 zobrazenú na karte, na obvyklom porte SSH:

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

### Skratka: súbor \~/.ssh/config

Aby ste nemuseli zakaždým písať port a adresu, pridajte do svojho súboru `~/.ssh/config` blok:

```
Host monvps

    HostName app.moja-firma.sk

    Port 22101

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Potom stačí `ssh monvps` a rovnaká skratka slúži pre `scp`, `rsync`, `git` aj váš editor.

## Z Windows

Windows 10 a 11 obsahujú klienta OpenSSH: otvorte PowerShell alebo Terminál a vložte príkaz zo svojej karty. Váš súbor skratiek sa nachádza v `C:\Users\<vaše meno>\.ssh\config`.

V programe **PuTTY** zadajte adresu a port zo svojej karty v časti **Session**, používateľa `root` v časti **Connection > Data** a svoj súkromný kľúč vo formáte `.ppk` v časti **Connection > SSH > Auth > Credentials**. Verejný kľúč, ktorý zobrazí PuTTYgen, uložíte vo svojej zákazníckej zóne tak, ako je.

## Prenos súborov

S rovnakým portom a rovnakým kľúčom:

```
# jeden súbor, na server

scp -P 22101 archive.tar.gz root@app.moja-firma.sk:/srv/



# priečinok, synchronizovaný

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

`scp` zadáva port **veľkým P**. Programy SFTP ako FileZilla alebo WinSCP sa pripájajú cez **SFTP**, s adresou, portom a súkromným kľúčom z vášho počítača.

## Práca z editora

Rozšírenie **Remote - SSH** pre Visual Studio Code otvára priečinky vášho servera, akoby boli na vašom počítači: číta váš súbor `~/.ssh/config`, stačí zvoliť `monvps`. Editory JetBrains ponúkajú rovnaké pripojenie cez **Remote Development**.

## Prístup pre kolegu

Dva spôsoby, podľa toho, čo mu chcete zveriť:

* **administrátorský prístup**: pridajte jeho verejný kľúč k vášmu do poľa **Vaše verejné kľúče, jeden na riadok** a potom kliknite na **Uložiť kľúče**;
* **obmedzený prístup**: vytvorte mu na serveri účet s jeho vlastným kľúčom:

```
adduser camille

mkdir -p /home/camille/.ssh

nano /home/camille/.ssh/authorized_keys   # vložte jeho verejný kľúč

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

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

Prístup odoberiete tak, že uložíte zoznam kľúčov bez jeho kľúča, alebo zmažete jeho účet príkazom `deluser camille`.

## Nahradenie strateného kľúča

Zmenili ste počítač alebo váš súkromný kľúč zmizol: vytvorte nový kľúč príkazom `ssh-keygen -t ed25519`, potom uložte nový verejný kľúč na svojej karte a starý odstráňte. Nainštaluje sa do minúty a prístup k serveru máte späť.

## Váš AI asistent

AI asistent pripojený k vašej zákazníckej zóne Simafri (server MCP `https://mcp.simafri.com/v1/mcp`) číta vaše servery, ich stav, adresy a príkaz na pripojenie a ukladá za vás vaše **verejné** kľúče, s právami prihlásenej osoby. Súkromný kľúč odmietne, rovnako ako zákaznícka zóna.

## Časté otázky

### „Permission denied (publickey)“: čo skontrolovať?

1. Karta vášho servera uvádza **Nainštalované na server** a za tým dátum.
2. Odtlačok zobrazený na karte je odtlačok vášho kľúča: `ssh-keygen -lf ~/.ssh/id_ed25519.pub`.
3. Váš príkaz používa port z vašej karty a používateľa `root`.
4. Ak má váš kľúč iný názov, uveďte ho: `ssh -i ~/.ssh/ma_cle -p 22101 root@...`.

Potom opíšte situáciu podpore, spolu so spusteným príkazom a hlásením, ktoré ste dostali: Komplexná podpora vám pomôže obnoviť prístup.

### Moje pripojenie sa preruší, keď som neaktívny.

Pridajte `ServerAliveInterval 60` do svojho bloku v `~/.ssh/config`: váš počítač bude pripojenie udržiavať. Dlhý príkaz spustite v `tmux` alebo `screen`, ktoré ho udržia nažive aj po odpojení.

### Zákaznícka zóna hlási „Tento text obsahuje SÚKROMNÝ kľúč“.

Vložili ste súbor bez `.pub`. Vložte obsah súboru, ktorý končí na `.pub`. Ak ste svoj súkromný kľúč omylom niekomu poslali, vytvorte si nový a uložte jeho verejný kľúč.

### Môžem sa pripojiť heslom?

Váš server sa otvára kľúčom SSH, najbezpečnejšou metódou: kľúč sa nedá uhádnuť a nikdy sa neprenáša. Uložte jeden kľúč na osobu a každá si zachová vlastný prístup.
