# Prisijungimas

## Jūsų SSH raktas

Jūsų VPS Ultra su Linux atveriamas jūsų **SSH raktu**: tai failų pora, sukurta jūsų kompiuteryje. **Viešoji** dalis įdiegiama serveryje; **privačioji** dalis lieka jūsų kompiuteryje ir niekam neperduodama, įskaitant mūsų komandą.

macOS, Linux ir Windows 10 ar 11 (PowerShell arba Terminal) sistemose:

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

Sutikite su siūloma vieta ir pasirinkite slaptafrazę. Jūsų viešasis raktas yra failas `id_ed25519.pub`: eilutė, kuri prasideda `ssh-ed25519`. Perduokite jį mūsų komandai užsakydami: mes jį įdiegsime jūsų serveryje jį ruošdami.

## Prisijungimas per SSH

Jūsų serverio kortelėje, jūsų klientų srities skiltyje **VPS**, rodoma komanda **SSH ryšys**:

```
ssh root@203.0.113.20
```

Jūsų serveris turi savo IPv4 adresą: jungiamasi įprastu SSH prievadu 22 arba prievadu, kurį pasirenkate faile `/etc/ssh/sshd_config`. Kai jūsų domenas nukreiptas į jūsų serverį, veikia ir jo vardas: `ssh root@app.mano-imone.lt`.

### Trumpinys: failas \~/.ssh/config

```
Host manoultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Tada pakanka `ssh manoultra`, o tas pats trumpinys tinka `scp`, `rsync`, `git` ir jūsų redaktoriui.

## Rakto pridėjimas ar pakeitimas

Jūsų serverio raktai yra faile `/root/.ssh/authorized_keys`, po vieną eilutėje, ir juos tvarkote patys:

* **kolegos pridėjimas**: įklijuokite jo viešąjį raktą naujoje failo eilutėje arba sukurkite jam atskirą paskyrą (`adduser`) su jo raktu faile `/home/<jo paskyra>/.ssh/authorized_keys`;
* **prieigos atšaukimas**: ištrinkite jo eilutę;
* **kompiuterio pakeitimas**: pridėkite naują viešąjį raktą prieš pašalindami senąjį.

Jūsų privatusis raktas dingo, ir nė vienas raktas nebeatveria serverio? Atsiųskite savo naują viešąjį raktą pagalbos komandai: mūsų komanda jį įdiegs jūsų serveryje.

## Failų perdavimas

```
# vienas failas, į serverį

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



# aplankas, sinchronizuojamas

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

SFTP programos, tokios kaip FileZilla ar WinSCP, jungiasi per **SFTP**, naudodamos jūsų serverio adresą ir jūsų privatųjį raktą.

## Darbas iš redaktoriaus

Visual Studio Code plėtinys **Remote - SSH** atveria jūsų serverio aplankus taip, lyg jie būtų jūsų kompiuteryje: jis skaito jūsų failą `~/.ssh/config`, pakanka pasirinkti `manoultra`. JetBrains redaktoriai siūlo tokį pat ryšį per **Remote Development**.

## Windows Server: nuotolinis darbalaukis

VPS Ultra su Windows Server atveriamas per **nuotolinį darbalaukį** (RDP):

1. Windows sistemoje paleiskite **Nuotolinio darbalaukio ryšys** (`mstsc`); macOS sistemoje Microsoft programą **Windows App**; Linux sistemoje Remmina.
2. Įveskite savo serverio IPv4 adresą, rodomą jo kortelėje.
3. Prisijunkite su administratoriaus paskyra, kurią mūsų komanda pateikė pristatymo metu, tada per pirmąją sesiją pakeiskite jos slaptažodį.

Tada apsaugokite savo prieigą: ilgas ir unikalus slaptažodis, o nuotolinis darbalaukis Windows ugniasienėje leidžiamas tik jūsų adresams.

## Dažniausiai užduodami klausimai

### „Permission denied (publickey)“: ką patikrinti?

1. Naudojamas raktas yra tas, kurį mums perdavėte: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` parodo jo kontrolinį kodą.
2. Jūsų komanda nurodo naudotoją `root` ir jūsų kortelės adresą.
3. Jei jūsų raktas turi kitą pavadinimą, nurodykite jį: `ssh -i ~/.ssh/mano_raktas root@...`.

Tada aprašykite situaciją pagalbos komandai, nurodydami paleistą komandą ir gautą pranešimą: Visapusiška pagalba padės jums atkurti prieigą.

### Mano ryšys nutrūksta, kai esu neaktyvus.

Pridėkite `ServerAliveInterval 60` į savo bloką faile `~/.ssh/config`, o ilgai trunkančias komandas paleiskite `tmux` ar `screen` aplinkoje, kuri jas palaiko gyvas net atsijungus.
