# Conectarea

## Cheia dumneavoastră SSH

VPS Ultra cu Linux se deschide cu **cheia SSH**: o pereche de fișiere creată pe calculatorul dumneavoastră. Partea **publică** se instalează pe server; partea **privată** rămâne pe calculatorul dumneavoastră și nu se transmite nimănui, nici echipei noastre.

Pe macOS, Linux și Windows 10 sau 11 (PowerShell sau Terminal):

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

Acceptați locația propusă și alegeți o frază de acces. Cheia publică este fișierul `id_ed25519.pub`: un rând care începe cu `ssh-ed25519`. Transmiteți-o echipei noastre la comandă: o instalăm pe server la pregătirea acestuia.

## Conectarea prin SSH

Caseta serverului, secțiunea **VPS** a zonei de client, afișează comanda **Conexiune SSH**:

```
ssh root@203.0.113.20
```

Serverul are propria adresă IPv4: conectarea se face pe portul SSH obișnuit, 22, sau pe cel pe care îl alegeți în `/etc/ssh/sshd_config`. Odată ce domeniul este direcționat către server, numele lui funcționează și el: `ssh root@app.firma-mea.ro`.

### O scurtătură: fișierul \~/.ssh/config

```
Host ultra-meu

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Apoi este suficient `ssh ultra-meu`, iar aceeași scurtătură servește pentru `scp`, `rsync`, `git` și editorul dumneavoastră.

## Adăugarea sau înlocuirea unei chei

Cheile serverului se află în `/root/.ssh/authorized_keys`, câte una pe rând, iar dumneavoastră le gestionați:

* **adăugarea unui coleg**: lipiți cheia sa publică pe un rând nou al fișierului sau creați-i propriul cont (`adduser`) cu cheia sa în `/home/<contul său>/.ssh/authorized_keys`;
* **retragerea unui acces**: ștergeți rândul corespunzător;
* **schimbarea calculatorului**: adăugați noua cheie publică înainte de a o elimina pe cea veche.

Cheia privată a dispărut și nicio cheie nu vă mai deschide serverul? Trimiteți noua cheie publică echipei de asistență: echipa noastră o instalează pe server.

## Transferul de fișiere

```
# un fișier, către server

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



# un dosar, sincronizat

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

Programele SFTP precum FileZilla sau WinSCP se conectează prin **SFTP**, cu adresa serverului și cheia privată.

## Lucrul din editor

Extensia **Remote - SSH** din Visual Studio Code deschide dosarele serverului ca și cum ar fi pe calculatorul dumneavoastră: citește fișierul `~/.ssh/config`, este suficient să alegeți `ultra-meu`. Editoarele JetBrains oferă aceeași conexiune prin **Remote Development**.

## Windows Server: desktopul la distanță

Un VPS Ultra cu Windows Server se deschide prin **desktopul la distanță** (RDP):

1. Pe Windows, lansați **Conexiune desktop la distanță** (`mstsc`); pe macOS, aplicația **Windows App** de la Microsoft; pe Linux, Remmina.
2. Indicați adresa IPv4 a serverului, afișată în caseta sa.
3. Conectați-vă cu contul de administrator predat de echipa noastră la livrare, apoi schimbați-i parola la prima sesiune.

Protejați apoi accesul: o parolă lungă și unică, iar desktopul la distanță rezervat adreselor dumneavoastră în firewallul Windows.

## Întrebări frecvente

### „Permission denied (publickey)”: ce verific?

1. Cheia folosită este cea pe care ne-ați transmis-o: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` afișează amprenta sa.
2. Comanda dumneavoastră indică utilizatorul `root` și adresa din casetă.
3. Dacă cheia dumneavoastră are alt nume, indicați-o: `ssh -i ~/.ssh/cheia_mea root@...`.

Descrieți apoi situația echipei de asistență, cu comanda rulată și mesajul obținut: Asistența integrală vă ajută să restabiliți accesul.

### Conexiunea mi se întrerupe când rămân inactiv.

Adăugați `ServerAliveInterval 60` în blocul dumneavoastră din `~/.ssh/config` și rulați comenzile lungi în `tmux` sau `screen`, care le țin în viață chiar și după deconectare.
