# Připojení

## Váš klíč SSH

Váš VPS Ultra s Linuxem se otevírá vaším **klíčem SSH**: dvojicí souborů vytvořenou na vašem počítači. **Veřejná** část se instaluje na server; **soukromá** část zůstává na vašem počítači a nikomu se nepředává, ani našemu týmu.

V macOS, Linuxu a Windows 10 nebo 11 (PowerShell nebo Terminál):

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

Potvrďte navržené umístění a zvolte heslovou frázi. Váš veřejný klíč je soubor `id_ed25519.pub`: jeden řádek, který začíná `ssh-ed25519`. Pošlete ho našemu týmu při objednávce: nainstalujeme ho na váš server při jeho přípravě.

## Připojení přes SSH

Karta vašeho serveru, v sekci **VPS** vaší zákaznické zóny, zobrazuje příkaz **Připojení SSH**:

```
ssh root@203.0.113.20
```

Váš server má vlastní IPv4 adresu: připojení probíhá na obvyklém portu SSH 22, nebo na tom, který si zvolíte v `/etc/ssh/sshd_config`. Jakmile vaše doména ukazuje na váš server, funguje i její název: `ssh root@app.moje-firma.cz`.

### Zkratka: soubor \~/.ssh/config

```
Host mujultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Pak stačí `ssh mujultra` a stejnou zkratku využijí i `scp`, `rsync`, `git` a váš editor.

## Přidání nebo náhrada klíče

Klíče vašeho serveru jsou v `/root/.ssh/authorized_keys`, jeden na řádek, a spravujete je sami:

* **přidání kolegy**: vložte jeho veřejný klíč na nový řádek souboru, nebo mu vytvořte vlastní účet (`adduser`) s jeho klíčem v `/home/<jeho účet>/.ssh/authorized_keys`;
* **odebrání přístupu**: smažte jeho řádek;
* **změna počítače**: přidejte svůj nový veřejný klíč dřív, než odeberete starý.

Váš soukromý klíč se ztratil a k serveru vás už nepustí žádný klíč? Pošlete svůj nový veřejný klíč podpoře: náš tým ho nainstaluje na váš server.

## Přenos souborů

```
# jeden soubor, na server

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



# složka, synchronizovaná

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

Programy SFTP jako FileZilla nebo WinSCP se připojují přes **SFTP**, s adresou vašeho serveru a vaším soukromým klíčem.

## Práce z editoru

Rozšíření **Remote - SSH** pro Visual Studio Code otevírá složky vašeho serveru, jako by byly na vašem počítači: načte váš soubor `~/.ssh/config`, stačí zvolit `mujultra`. Editory JetBrains nabízejí stejné připojení přes **Remote Development**.

## Windows Server: vzdálená plocha

VPS Ultra s Windows Serverem se otevírá přes **vzdálenou plochu** (RDP):

1. Ve Windows spusťte **Připojení ke vzdálené ploše** (`mstsc`); v macOS aplikaci **Windows App** od Microsoftu; v Linuxu Remmina.
2. Zadejte IPv4 adresu svého serveru, zobrazenou na jeho kartě.
3. Přihlaste se administrátorským účtem, který vám náš tým předá při dodání, a při první relaci změňte jeho heslo.

Poté svůj přístup ochraňte: dlouhé a jedinečné heslo a vzdálená plocha povolená ve firewallu Windows jen pro vaše adresy.

## Časté otázky

### „Permission denied (publickey)“: co zkontrolovat?

1. Použitý klíč je ten, který jste nám poslali: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` zobrazí jeho otisk.
2. Váš příkaz uvádí uživatele `root` a adresu z vaší karty.
3. Pokud se váš klíč jmenuje jinak, uveďte ho: `ssh -i ~/.ssh/muj_klic root@...`.

Pak situaci popište podpoře, s použitým příkazem a obdrženou zprávou: Komplexní podpora vám pomůže přístup obnovit.

### Spojení se přerušuje, když nic nedělám.

Přidejte `ServerAliveInterval 60` do svého bloku v `~/.ssh/config` a dlouhé příkazy spouštějte v `tmux` nebo `screen`, které je udrží naživu i po odpojení.
