# Povezivanje

## Vaš SSH ključ

Vaš VPS Ultra s Linuxom otvara se vašim **SSH ključem**: parom datoteka izrađenim na vašem računalu. **Javni** dio postavlja se na poslužitelj; **privatni** dio ostaje na vašem računalu i ne prosljeđuje se nikome, pa ni našem timu.

Na macOS-u, Linuxu te Windowsima 10 ili 11 (PowerShell ili Terminal):

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

Prihvatite predloženu lokaciju i odaberite lozinku (passphrase). Vaš je javni ključ datoteka `id_ed25519.pub`: redak koji počinje s `ssh-ed25519`. Pošaljite ga našem timu pri narudžbi: postavljamo ga na vaš poslužitelj tijekom njegove pripreme.

## Povezivanje putem SSH-a

Kartica vašeg poslužitelja, u odjeljku **VPS** vašeg korisničkog područja, prikazuje naredbu **SSH veza**:

```
ssh root@203.0.113.20
```

Vaš poslužitelj ima vlastitu IPv4 adresu: povezivanje se obavlja na uobičajenom SSH portu, 22, ili na onom koji odaberete u `/etc/ssh/sshd_config`. Kad vaša domena uputi na vaš poslužitelj, radi i njegov naziv: `ssh root@app.moja-tvrtka.hr`.

### Prečac: datoteka \~/.ssh/config

```
Host mojultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Nakon toga dovoljno je `ssh mojultra`, a isti prečac služi za `scp`, `rsync`, `git` i vaš uređivač.

## Dodavanje ili zamjena ključa

Ključevi vašeg poslužitelja nalaze se u `/root/.ssh/authorized_keys`, jedan po retku, i njima upravljate sami:

* **dodavanje kolege**: zalijepite njegov javni ključ u novi redak datoteke ili mu izradite vlastiti korisnički račun (`adduser`) s njegovim ključem u `/home/<njegov račun>/.ssh/authorized_keys`;
* **uklanjanje pristupa**: izbrišite njegov redak;
* **promjena računala**: dodajte svoj novi javni ključ prije uklanjanja starog.

Vaš je privatni ključ nestao i više vam nijedan ključ ne otvara poslužitelj? Pošaljite svoj novi javni ključ podršci: naš ga tim postavlja na vaš poslužitelj.

## Prijenos datoteka

```
# jedna datoteka, prema poslužitelju

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



# jedna mapa, sinkronizirana

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

SFTP programi poput FileZille ili WinSCP-a povezuju se putem **SFTP-a**, s adresom vašeg poslužitelja i vašim privatnim ključem.

## Rad iz vašeg uređivača

Proširenje **Remote - SSH** za Visual Studio Code otvara mape vašeg poslužitelja kao da su na vašem računalu: čita vašu datoteku `~/.ssh/config`, dovoljno je odabrati `mojultra`. Uređivači JetBrains nude istu vezu putem značajke **Remote Development**.

## Windows Server: udaljena radna površina

VPS Ultra sa sustavom Windows Server otvara se putem **udaljene radne površine** (RDP):

1. Na Windowsima pokrenite **Veza s udaljenom radnom površinom** (`mstsc`); na macOS-u Microsoftovu aplikaciju **Windows App**; na Linuxu Remminu.
2. Unesite IPv4 adresu svojeg poslužitelja, prikazanu na njegovoj kartici.
3. Prijavite se administratorskim računom koji vam je naš tim predao pri isporuci, zatim promijenite njegovu lozinku pri prvoj sesiji.

Zatim zaštitite svoj pristup: duga i jedinstvena lozinka te udaljena radna površina ograničena na vaše adrese u Windows vatrozidu.

## Česta pitanja

### „Permission denied (publickey)”: što provjeriti?

1. Ključ koji koristite onaj je koji ste nam poslali: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` prikazuje njegov otisak.
2. Vaša naredba navodi korisnika `root` i adresu s vaše kartice.
3. Ako vaš ključ ima drugi naziv, navedite ga: `ssh -i ~/.ssh/moj_kljuc root@...`.

Zatim opišite situaciju podršci, s pokrenutom naredbom i dobivenom porukom: Cjelovita podrška pomaže vam vratiti pristup.

### Veza mi se prekida tijekom neaktivnosti.

Dodajte `ServerAliveInterval 60` u svoj blok u `~/.ssh/config`, a duge naredbe pokrećite u `tmux`-u ili `screen`-u, koji ih održavaju aktivnima i kad ste odspojeni.
