# Свързване

## Вашият SSH ключ

Вашият VPS Ultra с Linux се отваря с вашия **SSH ключ**: двойка файлове, създадени на компютъра ви. **Публичната** част се инсталира на сървъра; **частната** част остава на компютъра ви и не се предава на никого, включително на нашия екип.

На macOS, Linux и Windows 10 или 11 (PowerShell или Terminal):

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

Приемете предложеното място и изберете парола (passphrase). Вашият публичен ключ е файлът `id_ed25519.pub`: един ред, който започва с `ssh-ed25519`. Изпратете го на нашия екип при поръчката: ние го инсталираме на сървъра ви при подготовката му.

## Свързване чрез SSH

Картата на сървъра ви, раздел **VPS** на клиентския ви портал, показва командата **SSH връзка**:

```
ssh root@203.0.113.20
```

Сървърът ви има собствен IPv4 адрес: връзката се осъществява на обичайния SSH порт, 22, или на този, който изберете в `/etc/ssh/sshd_config`. След като насочите домейна си към сървъра, неговото име също работи: `ssh root@app.vashatafirma.bg`.

### Пряк път: файлът \~/.ssh/config

```
Host monultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

След това е достатъчно `ssh monultra`, а същият пряк път служи за `scp`, `rsync`, `git` и вашия редактор.

## Добавяне или замяна на ключ

Ключовете на сървъра ви се намират в `/root/.ssh/authorized_keys`, по един на ред, и ги управлявате сами:

* **добавяне на колега**: поставете неговия публичен ключ на нов ред във файла или му създайте собствен акаунт (`adduser`) с ключа му в `/home/<неговия акаунт>/.ssh/authorized_keys`;
* **отнемане на достъп**: изтрийте неговия ред;
* **смяна на компютъра**: добавете новия си публичен ключ, преди да премахнете стария.

Частният ви ключ е изчезнал и вече нито един ключ не отваря сървъра ви? Изпратете новия си публичен ключ на поддръжката: нашият екип ще го инсталира на сървъра ви.

## Прехвърляне на файлове

```
# един файл, към сървъра

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



# една папка, синхронизирана

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

SFTP програмите като FileZilla или WinSCP се свързват по **SFTP**, с адреса на сървъра ви и частния ви ключ.

## Работа от вашия редактор

Разширението **Remote - SSH** на Visual Studio Code отваря папките на сървъра ви, сякаш са на компютъра ви: то чете файла ви `~/.ssh/config` и е достатъчно да изберете `monultra`. Редакторите на JetBrains предлагат същата връзка чрез **Remote Development**.

## Windows Server: отдалеченият работен плот

VPS Ultra с Windows Server се отваря чрез **отдалечен работен плот** (RDP):

1. На Windows стартирайте **Връзка с отдалечен работен плот** (`mstsc`); на macOS, приложението **Windows App** на Microsoft; на Linux, Remmina.
2. Въведете IPv4 адреса на сървъра си, показан в картата му.
3. Влезте с администраторския акаунт, предоставен от нашия екип при доставката, след което сменете паролата му при първата сесия.

След това защитете достъпа си: дълга и уникална парола, а отдалеченият работен плот да е разрешен само за вашите адреси в защитната стена на Windows.

## Често задавани въпроси

### „Permission denied (publickey)“: какво да проверя?

1. Използваният ключ е този, който сте ни изпратили: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` показва неговия отпечатък.
2. Командата ви посочва потребителя `root` и адреса от картата ви.
3. Ако ключът ви има друго име, посочете го: `ssh -i ~/.ssh/ma_cle root@...`.

След това опишете ситуацията на поддръжката, с изпълнената команда и полученото съобщение: Цялостната поддръжка ще ви помогне да възстановите достъпа.

### Връзката ми прекъсва, когато не съм активен.

Добавете `ServerAliveInterval 60` към блока си в `~/.ssh/config` и стартирайте дългите команди в `tmux` или `screen`, които ги поддържат живи дори след прекъсване на връзката.
