## Удалённый помощник

Для технического обслуживания, специалист технической поддержки может подключиться к ней удалённо — посмотреть экран (VNC) или выполнить диагностику по SSH — по защищённому каналу. В соответствии с требованиями по кибербезопасности (IEC 61162-460) подключение выполняется **только** судоводителем.

````{only} ecdis
| Путь в меню |
|-------------|
| {{ menu }} → {{ settings }} → {{ EN_settings_system }} → {{ EN_settings_system_remote }} |
````

````{only} soenki or ecs
| Путь в меню |
|-------------|
| {{ menu }} → {{ settings }} → {{ RU_settings_system }} → {{ RU_settings_system_remote }} |
````

````{only} tour
| Путь в меню |
|-------------|
| {{ tour_main_menu_on }} → {{ tour_settings_off }} → {{ RU_settings_system }} → {{ RU_settings_system_remote }} |
````

````{only} ecdis
![](images/Remote_Assistant.png)

| № | Поле | Описание |
|---|------|----------|
| **1** | **FW status** | Текущий статус фаервола. |
| **2** | **VNC tunnel status** | Текущий статус VNC-туннеля (удалённого рабочего стола). |
| **3** | **SSH tunnel status** | Текущий статус SSH-туннеля. |
| **4** | **Host** | IP-адрес удалённого подключения — диктует оператор техподдержки. |
| **5** | **Port** | Порт удалённого подключения — диктует оператор техподдержки. |
| **6** | **Login** | Логин оператора поддержки на его рабочем месте — диктует оператор. `assistant` — условный логин по умолчанию. |
| **7** | **SSH local port** | Порт SSH-туннеля — диктует оператор, обычно `2222`. |
| **8** | **Operations logbook** | Журнал сообщений сервиса. |
| **9** | **Append FW exclude** | Добавить временные правила фаервола для адреса из поля **Host** (в обе стороны). |
| **10** | **Restart FW** | Перезапуск службы фаервола. |
| **11** | **Open VNC tunnel** | Открыть VNC-туннель (удалённый рабочий стол). |
| **12** | **Open SSH tunnel** | Открыть SSH-туннель. |
| **13** | **Service privileges** | Получить права администратора для установки удалённого подключения. |
````

````{only} soenki or ecs
![](images/soenki_settings_remote_assistant.png)

| № | Поле | Описание |
|---|------|----------|
| **1** | **Статус** | Текущий статус фаервола. |
| **2** | **Статус VNC** | Текущий статус VNC-туннеля (удалённого рабочего стола). |
| **3** | **Статус SSH** | Текущий статус SSH-туннеля. |
| **4** | **Хост** | IP-адрес удалённого подключения — диктует оператор техподдержки. |
| **5** | **Порт** | Порт удалённого подключения — диктует оператор техподдержки. |
| **6** | **Логин** | Логин оператора поддержки на его рабочем месте — диктует оператор. `assistant` — условный логин по умолчанию. |
| **7** | **Локальный SSH порт** | Порт SSH-туннеля — диктует оператор, обычно `2222`. |
| **8** | **---** | Журнал сообщений сервиса. |
| **9** | **Добавить правило исключения** | Добавить временные правила фаервола для адреса из поля **Хост** (в обе стороны). |
| **10** | **Перезапустить правила** | Перезапуск службы фаервола. |
| **11** | **Открыть VNC туннель** | Открыть VNC-туннель (удалённый рабочий стол). |
| **12** | **Открыть SSH туннель** | Открыть SSH-туннель. |
| **13** | **Права администратора** | Получить права администратора для установки удалённого подключения. |
````

````{only} tour
![](images/tour_settings_remote_assistant.png)

| № | Поле | Описание |
|---|------|----------|
| **1** | **Статус** | Текущий статус фаервола. |
| **2** | **Статус VNC** | Текущий статус VNC-туннеля (удалённого рабочего стола). |
| **3** | **Статус SSH** | Текущий статус SSH-туннеля. |
| **4** | **Хост** | IP-адрес удалённого подключения — диктует оператор техподдержки. |
| **5** | **Порт** | Порт удалённого подключения — диктует оператор техподдержки. |
| **6** | **Логин** | Логин оператора поддержки на его рабочем месте — диктует оператор. `assistant` — условный логин по умолчанию. |
| **7** | **Локальный SSH порт** | Порт SSH-туннеля — диктует оператор, обычно `2222`. |
| **8** | **---** | Журнал сообщений сервиса. |
| **9** | **Добавить правило исключения** | Добавить временные правила фаервола для адреса из поля **Хост** (в обе стороны). |
| **10** | **Перезапустить правила** | Перезапуск службы фаервола. |
| **11** | **Открыть VNC туннель** | Открыть VNC-туннель (удалённый рабочий стол). |
| **12** | **Открыть SSH туннель** | Открыть SSH-туннель. |
````

```{important}
Внешнее подключение устанавливается судоводителем.
```

```{important}
Адрес хоста, порт хоста, логин, локальный порт ssh предоставляются сервисной организацией при согласовании удалённого подключения.
```

### Получение прав администратора

Пока привилегии не выданы, элементы страницы неактивны:

1. Нажмите **Service privileges** (**Права администратора**) и введите
   пароль администратора.
2. После окончания работ снимите привилегии кнопкой
   **Cancel privileges**.

### Ход сеанса

Оператор техподдержки по телефону диктует значения и руководит
действиями:

1. Получите права администратора (см. выше).
2. Введите значения, которые назовёт оператор: **Хост**, **Порт**,
   **Логин** и **Локальный SSH порт**.
3. По команде оператора нажмите **Open VNC tunnel**
   (**Открыть VNC туннель**) — оператор подключится к экрану станции
   сам. По завершении нажмите **Close VNC tunnel**.
4. Для работы по SSH по команде оператора нажмите **Open SSH tunnel**
   (**Открыть SSH туннель**), по завершении — **Close SSH tunnel**.

Пока на кнопке написано «Close …» («Закрыть …»), сеанс идёт — не
выключайте станцию и не уходите со страницы без команды оператора.

Введённые значения запоминаются и подставятся при следующем сеансе.

### Статусы

| Статус | Значения |
|--------|----------|
| **FW status** (**Статус**) | `Enable`, `Disable`, `Broken`, `Unknown`, `Not installed` |
| **VNC tunnel status** (**Статус VNC**) | `Open`, `Closed`, `Broken`, `Not installed` |
| **SSH tunnel status** (**Статус SSH**) | `Open`, `Closed`, `Broken`, `Not installed` |

- `Open` — канал работает.
- `Closed` — обычное состояние до и после сеанса.
- `Broken` — что-то пошло не так; зачитайте оператору последние
  сообщения из журнала.
- `Not installed` — на станции нет нужного компонента, сообщите
  оператору.

### Журнал операций

Правая панель страницы показывает сообщения сервиса: например,
`VNC tunnel is open`, `VNC tunnel closed`,
`Appended firewall exclude to host: …` или текст ошибки. Если что-то не
работает — продиктуйте последние строки оператору техподдержки.

### Фаервол

По команде оператора:

- **Append FW exclude** (**Добавить правило исключения**) — временно
  разрешить обмен данными с адресом из поля **Хост** (в обе стороны).
- **Restart FW** (**Перезапустить правила**) — перезапустить службу
  фаервола.

```{warning}
Если соедиенение неактивно более 5 минут --- VPN-соединение будет разорвано.
```

```{warning}
Во время технического обслуживания все манипуляции выполняет сервисный инженер, удалённо.

Не вмешивайтесь, и не пытайтесь перехватить управление устройством. Это затруднит выполнение работ.
```

### Вопросы

| Симптом | Что делать |
|---------|------------|
| Элементы страницы неактивны | Получите права администратора |
| Статус `Broken` | Зачитайте оператору последние сообщения из журнала |
| Статус `Not installed` | Сообщите оператору — на станции нет нужного компонента (`ssh`/`ufw`) |
| Сообщение `VNC/SSH key permissions are too open: '…'` | Сообщите оператору — у ключа на станции неверные права (проблема установки пакета `nlvnc`) |
| Статус снова `Closed` | Канал закрылся по команде оператора -- откройте его ещё раз |

````{only} ecdis or soenki
```{important}
На время проведения сервисного обслуживания рекомендуется передать функцию **Master** на другую станцию.
```
````

```{danger}
Планируйте сервисное обслуживание на время стоянки в порту.

Выполнение сервисного обслуживания на ходу судна допускается только в особых обстоятельствах, которые могут негативно повлиять на навигационную безопасность плавания.
```
