> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/help-center/upravlenie-serverom/podklyuchenie-k-serveru-po-ssh.md).

# Подключение к серверу по SSH

SSH предоставляет зашифрованный доступ к командной строке Linux-сервера. Через SSH выполняются подготовка сервера, установка iEXExchanger, диагностика и другие административные операции.

Для первичной установки iEXExchanger требуется прямой вход по SSH от пользователя `root`. Подключиться можно встроенным клиентом OpenSSH в Windows, macOS или Linux либо программой PuTTY в Windows. Панель управления сервером для подключения не требуется.

{% hint style="info" %}
Installer создаёт отдельного непривилегированного пользователя `spec.host.applicationUser` для Backend, Frontend и фоновых процессов. Его shell — `/usr/sbin/nologin`, поэтому эта учётная запись не предназначена для интерактивного входа. Установку и системные проверки выполняйте в SSH-сессии `root`.
{% endhint %}

## Перед подключением

Получите параметры доступа в личном кабинете хостинг-провайдера или у администратора сервера.

<table><thead><tr><th width="280.90625">Параметр</th><th>Что использовать</th></tr></thead><tbody><tr><td><code>IP_СЕРВЕРА</code></td><td>Публичный IPv4-адрес сервера</td></tr><tr><td><code>ПОРТ_SSH</code></td><td>Фактический порт SSH, указанный провайдером или администратором</td></tr><tr><td>Пользователь</td><td><code>root</code></td></tr><tr><td>Авторизация</td><td>Пароль <code>root</code> или приватный SSH-ключ</td></tr><tr><td>Fingerprint сервера</td><td>SHA-256 fingerprint host key, полученный по независимому каналу</td></tr><tr><td>Резервный доступ</td><td>Веб-консоль или аварийная консоль хостинг-провайдера</td></tr></tbody></table>

Вместо `IP_СЕРВЕРА` указывайте только IP-адрес — без `http://`, `https://`, пути и номера порта.

Не считайте порт `22` обязательным. Используйте `22` только тогда, когда именно этот порт указан в параметрах сервера.

{% hint style="danger" %}
Никому не передавайте пароль `root` и приватный SSH-ключ. Не вставляйте их в документацию, сообщения поддержки, команды, снимки экрана или журналы. На сервер передаётся только публичный ключ.
{% endhint %}

Перед первым входом желательно получить fingerprint SSH host key. Он подтверждает, что клиент подключается к нужному серверу, а не к подменённому узлу. Если провайдер не показывает fingerprint в личном кабинете, откройте его веб-консоль и выполните от `root`:

```bash
for key in /etc/ssh/ssh_host_*_key.pub; do
  ssh-keygen -lf "$key"
done
```

Сохраните строки с `SHA256:` и сравните fingerprint соответствующего типа ключа при первом подключении.

{% hint style="info" %}
SSH host key и ключ пользователя решают разные задачи. Host key подтверждает сервер, а ключ пользователя подтверждает право входа от имени `root`.
{% endhint %}

## Подключение через Windows Terminal, PowerShell, macOS или Linux

### Проверьте клиент OpenSSH

Откройте терминал на своём компьютере и выполните:

```bash
ssh -V
```

Если команда выводит версию OpenSSH, клиент готов к работе.

{% tabs %}
{% tab title="Windows" icon="windows" %}
Используйте Windows Terminal, PowerShell или Командную строку.

Если команда `ssh` не найдена, откройте «Дополнительные компоненты» (`Optional Features`) в параметрах Windows и установите «Клиент OpenSSH» (`OpenSSH Client`). Этот компонент и команда установки описаны в [официальной документации Microsoft](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse).

Альтернативный способ — открыть PowerShell от имени администратора и выполнить:

```powershell
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

{% endtab %}

{% tab title="macOS" icon="apple" %}
Откройте Terminal. Клиент OpenSSH входит в состав macOS. Команда `ssh -V` должна вывести установленную версию.
{% endtab %}

{% tab title="Linux" icon="linux" %}
Откройте терминал. Если `ssh -V` сообщает, что команда не найдена, установите пакет клиента OpenSSH средствами вашего дистрибутива.
{% endtab %}
{% endtabs %}

### Откройте SSH-сессию

{% stepper %}
{% step %}

#### Выполните команду подключения

Выберите команду, соответствующую параметрам сервера.

{% tabs %}
{% tab title="Стандартный порт" %}
Если провайдер подтвердил порт `22`:

```bash
ssh root@IP_СЕРВЕРА
```

{% endtab %}

{% tab title="Нестандартный порт" %}
Если SSH работает на другом порту:

```bash
ssh -p ПОРТ_SSH root@IP_СЕРВЕРА
```

Параметр `-p` у команды `ssh` пишется строчной буквой.
{% endtab %}

{% tab title="Вход по ключу" %}
Укажите приватный ключ, который соответствует публичному ключу пользователя `root` на сервере:

```bash
ssh -i "<ПУТЬ_К_ПРИВАТНОМУ_КЛЮЧУ>" -p ПОРТ_SSH root@IP_СЕРВЕРА
```

Если подтверждён порт `22`, параметр `-p ПОРТ_SSH` можно убрать.
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

#### Проверьте SSH host key

При первом подключении OpenSSH покажет тип ключа и строку `SHA256:...`, а затем запросит подтверждение.

Сравните fingerprint с полученным через личный кабинет, веб-консоль или администратора. Если значения совпадают, введите:

```
yes
```

Если fingerprint отличается или проверить его невозможно, ответьте `no` и выясните причину до ввода пароля.
{% endstep %}

{% step %}

#### Пройдите авторизацию

При входе по паролю введите пароль `root` и нажмите `Enter`. Терминал не показывает символы, точки или звёздочки во время ввода — это нормальное поведение.

При входе по защищённому ключу клиент может запросить passphrase приватного ключа. Это локальная фраза для расшифровки файла ключа, а не пароль сервера.
{% endstep %}

{% step %}

#### Подтвердите пользователя, сервер и порт

Выполните в открывшейся SSH-сессии:

```bash
whoami
id -u
hostname
printf 'SSH port: %s\n' "${SSH_CONNECTION##* }"
```

Правильные признаки подключения:

* `whoami` выводит `root`;
* `id -u` выводит `0`;
* имя хоста соответствует выбранному серверу;
* SSH-порт совпадает с фактическим портом подключения.

Если пользователь или сервер не совпадает, не выполняйте установочные команды и завершите сеанс.
{% endstep %}
{% endstepper %}

## Подключение через PuTTY в Windows

Скачивайте PuTTY только с [официальной страницы проекта](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html). Выберите **«Windows Installer»**, соответствующий архитектуре компьютера, установите пакет и запустите PuTTY.

### Вход по паролю

{% stepper %}
{% step %}

#### Укажите адрес и порт

В разделе **«Session»** заполните:

* **«Host Name (or IP address)»** — `IP_СЕРВЕРА`;
* **«Port»** — фактический `ПОРТ_SSH`;
* **«Connection type»** — **«SSH»**.

Не выбирайте **«Raw»**, **«Telnet»**, **«Rlogin»** или **«Serial»**.
{% endstep %}

{% step %}

#### Укажите пользователя

Можно оставить запрос имени пользователя при каждом подключении. Тогда после открытия терминала в ответ на `login as:` введите:

```
root
```

Чтобы сохранить имя пользователя в конфигурации, откройте **«Connection» → «Data»** и укажите `root` в поле **«Auto-login username»**.
{% endstep %}

{% step %}

#### Сохраните параметры подключения

Вернитесь в раздел **«Session»**, введите понятное локальное название в поле **«Saved Sessions»** и нажмите **«Save»**.

Сохранённая сессия может хранить адрес, порт, имя пользователя и путь к ключу. Пароль `root` PuTTY не сохраняет — это отдельно указано в [официальном FAQ PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html).
{% endstep %}

{% step %}

#### Откройте соединение и проверьте host key

Нажмите **«Open»**. При первом подключении PuTTY покажет окно `The host key is not cached for this server` и fingerprint сервера.

Сравните fingerprint с проверенным значением:

* **«Accept»** — сохранить совпавший host key и продолжить;
* **«Connect Once»** — продолжить один раз без сохранения;
* **«Cancel»** — отменить подключение.

Не нажимайте **«Accept»**, пока fingerprint не проверен.
{% endstep %}

{% step %}

#### Введите пароль и проверьте сеанс

Введите пароль `root` и нажмите `Enter`. PuTTY не показывает пароль и не перемещает курсор во время ввода.

После появления командной строки выполните:

```bash
whoami
id -u
hostname
printf 'SSH port: %s\n' "${SSH_CONNECTION##* }"
```

Ожидаются пользователь `root`, UID `0`, правильный сервер и фактический SSH-порт.
{% endstep %}
{% endstepper %}

### Вход по приватному ключу `.ppk`

Публичная часть выбранного ключа должна быть заранее добавлена пользователю `root` на сервере.

{% stepper %}
{% step %}

#### Выберите приватный ключ

В PuTTY откройте **«Connection» → «SSH» → «Auth» → «Credentials»**. В поле **«Private key file for authentication»** нажмите **«Browse»** и выберите приватный файл `*.ppk`.

Файл с расширением `.pub` не является приватным ключом и не подходит для этого поля.
{% endstep %}

{% step %}

#### Укажите пользователя и сохраните сессию

В разделе **«Connection» → «Data»** укажите `root` в поле **«Auto-login username»**. Затем вернитесь в **«Session»**, выберите сохранённую сессию и нажмите **«Save»**, чтобы записать изменения.
{% endstep %}

{% step %}

#### Подключитесь

Нажмите **«Open»**, проверьте SSH host key и введите passphrase приватного ключа, если он защищён.

Passphrase расшифровывает `.ppk` на вашем компьютере и не отправляется серверу. После входа проверьте `whoami`, `id -u`, `hostname` и фактический SSH-порт.
{% endstep %}
{% endstepper %}

### Преобразуйте ключ OpenSSH в `.ppk`

PuTTY использует приватные ключи в собственном формате `*.ppk`. Если провайдер выдал приватный ключ OpenSSH, преобразуйте его с помощью PuTTYgen:

1. Запустите **PuTTYgen**.
2. Откройте меню **«Conversions»** и выберите **«Import key»**.
3. Выберите приватный ключ OpenSSH. Не выбирайте файл `.pub`.
4. Введите существующую passphrase, если ключ защищён.
5. Нажмите **«Save private key»** и сохраните файл с расширением `.ppk`.
6. В PuTTY укажите новый файл в **«Connection» → «SSH» → «Auth» → «Credentials» → «Private key file for authentication»**.

При преобразовании passphrase сохраняется, если вы намеренно её не изменили. Порядок импорта и требование формата `*.ppk` описаны в [официальном руководстве PuTTY](https://the.earth.li/~sgtatham/putty/0.85/htmldoc/Chapter8.html#puttygen-conversions).

{% hint style="danger" %}
Не сохраняйте приватный ключ без passphrase без подтверждённой технической причины. Доступ к незашифрованному файлу ключа даёт возможность войти на каждый сервер, где разрешён соответствующий публичный ключ.
{% endhint %}

### Используйте Pageant при частых подключениях

Pageant хранит расшифрованный приватный ключ в памяти текущего сеанса Windows:

1. Запустите **Pageant**.
2. Выберите **«Add Key»** и откройте файл `.ppk`.
3. Введите passphrase один раз.
4. Запустите сохранённую сессию PuTTY.

Если в **«Private key file for authentication»** указан конкретный ключ, PuTTY запрашивает у Pageant именно его и не перебирает остальные загруженные ключи. Не включайте **«Allow agent forwarding»**, если перенаправление агента не требуется для отдельной подтверждённой задачи.

## Настройка входа по SSH-ключу

Используйте этот раздел, если на сервере пока разрешён только вход по паролю или через консоль провайдера и вы хотите добавить собственный ключ.

### Создайте ключ на своём компьютере

{% tabs %}
{% tab title="OpenSSH" %}
Выполните на своём компьютере, а не на сервере:

```bash
ssh-keygen -t ed25519 -C "iEXExchanger SSH"
```

Параметры `-t` и `-C` описаны в [официальном руководстве `ssh-keygen`](https://man.openbsd.org/ssh-keygen.1).

Укажите отдельное имя файла и задайте надёжную passphrase. Если выбранный приватный файл уже существует, не подтверждайте его перезапись — завершите команду и выберите другое имя.

Команда создаёт два файла:

* приватный ключ без расширения `.pub` — остаётся только на вашем компьютере;
* публичный ключ с расширением `.pub` — добавляется на сервер.
  {% endtab %}

{% tab title="PuTTYgen" %}

1. Запустите **PuTTYgen**.
2. Выберите тип ключа **«EdDSA»** и значение `255` в поле **«Number of bits»** для Ed25519.
3. Нажмите **«Generate»** и перемещайте указатель мыши в свободной области окна до завершения генерации.
4. Заполните **«Key comment»** понятной локальной меткой.
5. Задайте **«Key passphrase»** и повторите её в **«Confirm passphrase»**.
6. Нажмите **«Save private key»** и сохраните `.ppk` в защищённом каталоге.
7. Скопируйте всю строку из поля **«Public key for pasting into OpenSSH authorized\_keys file»**.

Для файла `/root/.ssh/authorized_keys` нужна именно однострочная запись из поля **«Public key for pasting into OpenSSH authorized\_keys file»**. Кнопка **«Save public key»** сохраняет другой формат публичного ключа и для этого действия не требуется.
{% endtab %}
{% endtabs %}

### Добавьте публичный ключ пользователю `root`

Если хостинг-провайдер поддерживает добавление SSH-ключа при создании сервера, используйте этот вариант. Приватный ключ при этом никуда не загружается.

Если сервер уже создан, оставьте текущую рабочую сессию `root` открытой и выполните в ней:

```bash
install -d -o root -g root -m 0700 /root/.ssh
touch /root/.ssh/authorized_keys
chown root:root /root/.ssh/authorized_keys
chmod 0600 /root/.ssh/authorized_keys

read -r -p 'Вставьте публичный SSH-ключ одной строкой: ' SSH_PUBLIC_KEY
printf '%s\n' "$SSH_PUBLIC_KEY" >> /root/.ssh/authorized_keys
unset SSH_PUBLIC_KEY
```

Проверьте владельца и права:

```bash
stat -c '%U:%G %a %n' /root/.ssh /root/.ssh/authorized_keys
```

Ожидаемые значения:

```
root:root 700 /root/.ssh
root:root 600 /root/.ssh/authorized_keys
```

{% hint style="warning" %}
Не закрывайте текущую SSH-сессию. Откройте вторую сессию и проверьте вход по новому ключу. Только после успешной проверки можно закрыть старую сессию или отдельно менять политику парольной авторизации.
{% endhint %}

### Проверьте вход во второй сессии

Для OpenSSH выполните на своём компьютере:

```bash
ssh -o IdentitiesOnly=yes \
  -i "<ПУТЬ_К_ПРИВАТНОМУ_КЛЮЧУ>" \
  -p ПОРТ_SSH \
  root@IP_СЕРВЕРА
```

Для PuTTY выберите `.ppk` в **«Private key file for authentication»** и откройте сохранённую сессию.

Во второй сессии снова выполните:

```bash
whoami
id -u
hostname
```

Закрывайте исходную сессию только после получения `root`, UID `0` и правильного имени сервера.

## Согласование SSH-порта с Installer

Перед установкой перенесите фактический SSH-порт в `/home/installer/install.yaml`. Фрагмент конфигурации:

```yaml
spec:
  firewall:
    sshPort: <ПОРТ_SSH>
    sshAllowedCidrs: []
```

Замените `<ПОРТ_SSH>` числом до проверки конфигурации.

`spec.firewall.sshPort` должен совпадать одновременно с:

* портом текущей SSH-сессии;
* эффективной конфигурацией `sshd`;
* правилом сетевого Firewall или Security Group хостинг-провайдера.

Проверить порт текущей сессии можно командой:

```bash
printf '%s\n' "${SSH_CONNECTION##* }"
```

Проверить порты в эффективной конфигурации OpenSSH Server:

```bash
sshd -T | awk '$1 == "port" {print $2}'
```

Пустой список `sshAllowedCidrs: []` не ограничивает SSH по исходному CIDR в Firewall, которым управляет Installer. Чтобы разрешить SSH только с известного публичного адреса оператора, используйте:

```yaml
spec:
  firewall:
    sshPort: <ПОРТ_SSH>
    sshAllowedCidrs:
      - "<ВАШ_ПУБЛИЧНЫЙ_IP>/32"
```

{% hint style="danger" %}
Ошибочный `spec.firewall.sshPort` или CIDR, который не включает адрес текущего оператора, может заблокировать последующие подключения. До применения ограничения проверьте резервную консоль провайдера и не закрывайте рабочую SSH-сессию.
{% endhint %}

Installer сверяет порт текущего соединения через `SSH_CONNECTION` и проверяет, входит ли IP оператора в `spec.firewall.sshAllowedCidrs`.

## Повторные подключения

### Создайте профиль OpenSSH

Файл конфигурации клиента находится по одному из путей:

* Windows: `%USERPROFILE%\.ssh\config`;
* macOS и Linux: `~/.ssh/config`.

Добавьте профиль:

```sshconfig
Host iex-server
  HostName IP_СЕРВЕРА
  User root
  Port ПОРТ_SSH
  IdentityFile "<ПУТЬ_К_ПРИВАТНОМУ_КЛЮЧУ>"
  IdentitiesOnly yes
```

Если используется пароль, удалите строки `IdentityFile` и `IdentitiesOnly`. После сохранения подключайтесь короткой командой:

```bash
ssh iex-server
```

### Откройте сохранённую сессию PuTTY

Запустите PuTTY, выберите нужное имя в списке **«Saved Sessions»**, нажмите **«Load»**, проверьте **«Host Name»**, **«Port»** и путь к ключу, затем нажмите **«Open»**. Двойной щелчок по имени сохранённой сессии открывает её сразу.

## Если соединение прервалось во время установки

Сначала восстановите SSH-подключение тем же способом. Не запускайте новую установку поверх частично выполненной.

Проверьте состояние и отчёт:

```bash
/home/installer/iex-installer status
/home/installer/iex-installer reports list --kind install
/home/installer/iex-installer reports show install
```

Если Installer, `/home/installer/install.yaml`, Backend-архив, Frontend-архив и архив лицензии не изменялись, устраните причину сбоя и продолжите тот же запуск:

```bash
/home/installer/iex-installer \
  --config /home/installer/install.yaml \
  --non-interactive \
  --yes \
  resume
```

{% hint style="danger" %}
Не удаляйте `/home/installer`, installation state, журналы, базы данных или частично созданные службы. Не импортируйте SQL повторно и не запускайте параллельно `install` и `resume`.
{% endhint %}

## Решение проблем с подключением

### Включите подробную диагностику OpenSSH

На своём компьютере выполните:

```bash
ssh -vvv -p ПОРТ_SSH root@IP_СЕРВЕРА
```

Для входа конкретным ключом:

```bash
ssh -vvv \
  -o IdentitiesOnly=yes \
  -i "<ПУТЬ_К_ПРИВАТНОМУ_КЛЮЧУ>" \
  -p ПОРТ_SSH \
  root@IP_СЕРВЕРА
```

Не публикуйте полный отладочный вывод без проверки: он может содержать адреса, имена файлов и сведения о доступных ключах.

<details>

<summary><code>Connection timed out</code> или <code>Network error: Connection timed out</code></summary>

Клиент не получил ответа от указанного адреса и порта. Проверьте `IP_СЕРВЕРА`, `ПОРТ_SSH`, состояние сервера и входящее правило сетевого Firewall провайдера.

В Windows можно проверить доступность порта из PowerShell:

```powershell
Test-NetConnection -ComputerName IP_СЕРВЕРА -Port ПОРТ_SSH
```

Если порт недоступен, откройте веб-консоль провайдера и проверьте сервер изнутри.

</details>

<details>

<summary><code>Connection refused</code> или <code>Network error: Connection refused</code></summary>

Адрес отвечает, но соединение с выбранным портом отклонено. Частые причины — неправильный порт, неработающий OpenSSH Server или правило Firewall с явным отклонением.

Через веб-консоль провайдера выполните:

```bash
sshd -T | grep '^port '
ss -lntp
systemctl status ssh --no-pager
```

Убедитесь, что в PuTTY указано **«Connection type» — «SSH»**, а не другой протокол.

</details>

<details>

<summary><code>Permission denied</code>, <code>Access denied</code> или <code>No supported authentication methods available</code></summary>

Сервер доступен, но не принял предложенный способ авторизации.

Проверьте:

* имя пользователя — для текущей установки требуется `root`;
* раскладку клавиатуры и `Caps Lock` при вводе пароля;
* разрешён ли выбранный способ авторизации для `root`;
* соответствует ли приватный ключ публичному ключу в `/root/.ssh/authorized_keys`;
* не выбран ли публичный файл `.pub` вместо приватного ключа.

Если провайдер выдаёт только другого пользователя с `sudo`, запросите или настройте поддерживаемым провайдером способом прямой SSH-доступ `root`. Не начинайте первичную установку iEXExchanger из неподтверждённой учётной записи.

В PuTTY откройте системное меню терминального окна и выберите **«Event Log»** — сервер может вернуть более точную причину отказа.

</details>

<details>

<summary><code>Unable to use key file</code>, <code>Couldn't load private key</code> или <code>Couldn't load this key</code></summary>

PuTTY не смог прочитать выбранный приватный ключ. Проверьте путь и убедитесь, что выбран файл `*.ppk`.

Если ключ имеет формат OpenSSH, импортируйте его через **PuTTYgen → «Conversions» → «Import key»**, затем сохраните через **«Save private key»** в формате `.ppk`.

</details>

<details>

<summary><code>Server refused our key</code>, <code>Server refused our public key</code> или <code>Key refused</code></summary>

Клиент прочитал приватный ключ, но сервер не разрешил вход соответствующим публичным ключом.

В рабочей root-сессии или консоли провайдера проверьте владельца и права:

```bash
chown root:root /root/.ssh /root/.ssh/authorized_keys
chmod 0700 /root/.ssh
chmod 0600 /root/.ssh/authorized_keys
journalctl -u ssh -n 100 --no-pager
```

Убедитесь, что публичный ключ записан в `/root/.ssh/authorized_keys` одной строкой и относится к выбранному приватному ключу.

</details>

<details>

<summary><code>Too many authentication failures for root</code></summary>

Клиент или SSH-агент предложил слишком много неподходящих ключей до нужного.

Для OpenSSH укажите конкретный ключ и запретите перебор остальных:

```bash
ssh -o IdentitiesOnly=yes \
  -i "<ПУТЬ_К_ПРИВАТНОМУ_КЛЮЧУ>" \
  -p ПОРТ_SSH \
  root@IP_СЕРВЕРА
```

В PuTTY выберите конкретный `.ppk` в **«Private key file for authentication»** и сохраните сессию.

</details>

<details>

<summary><code>REMOTE HOST IDENTIFICATION HAS CHANGED!</code> или <code>WARNING - POTENTIAL SECURITY BREACH!</code></summary>

Host key сервера отличается от сохранённого. Это возможно после подтверждённой переустановки сервера, но также может означать подмену соединения.

Не вводите пароль и не принимайте новый ключ. Через веб-консоль провайдера заново получите fingerprint:

```bash
for key in /etc/ssh/ssh_host_*_key.pub; do
  ssh-keygen -lf "$key"
done
```

Только после подтверждения законной смены ключа удалите старую запись OpenSSH:

```bash
ssh-keygen -R "IP_СЕРВЕРА"
```

Для нестандартного порта:

```bash
ssh-keygen -R "[IP_СЕРВЕРА]:ПОРТ_SSH"
```

PuTTY хранит host keys в `HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys`. Перед удалением экспортируйте эту ветку реестра и удаляйте только значение, относящееся к подтверждённому IP-адресу и порту. Если точное значение определить нельзя, не изменяйте реестр.

</details>

<details>

<summary>Окно PuTTY закрывается сразу после ошибки</summary>

В разделе **«Session»** установите **«Close window on exit» — «Never»**, сохраните сессию и повторите подключение. Окно останется открытым, и текст ошибки можно будет прочитать. Дополнительные сведения доступны через **«Event Log»** в системном меню терминального окна.

</details>

## Завершение SSH-сессии

После завершения работы выполните:

```bash
exit
```

Не закрывайте окно терминала во время работы Installer или другой выполняющейся команды. Если связь оборвалась, сначала проверьте состояние операции, а не запускайте её повторно.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/help-center/upravlenie-serverom/podklyuchenie-k-serveru-po-ssh.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
