SSH
Служба wssh позволяет подключаться к узлам ПАК с использованием протокола SSH.
Подключение может выполняться двумя способами:
-
через веб-интерфейс, реализующий функциональность работы с терминалом;
-
с помощью стороннего клиента SSH.
В обоих случаях Геном автоматически настраивает подключение:
-
создаёт пользователей ОС и включает их в необходимые группы на промежуточном (jump host) и целевых узлах;
-
создаёт пару ключей, используемых для аутентификации;
-
генерирует сертификаты для защиты подключения.
Подготовка узла к работе
Чтобы подготовить узел к работе, установите на него plagent и плагины:
-
files; -
services; -
users; -
wssh.
Для этого следуйте инструкциям:
Пользователи
Чтобы пользователи могли использовать соответствующую функциональность, в IAM добавьте их в соответствующие группы. От этого зависит срок действия сертификата, используемого для защиты подключения.
| Группа | Права | Срок действия сертификата |
|---|---|---|
|
Запуск команд с повышенными привилегиями |
1 сутки |
|
Запуск команд без повышения привилегий |
7 суток |
Если пользователь входит в обе группы, срок действия сертификата — одни сутки.
Аннулирование сертификатов и остановка сессий
Если роли и полномочия пользователя изменились, аннулируйте его действующие сертификаты и сессии:
-
Подключитесь к узлу, на котором выполняется служба
wssh. -
Выполните команду:
docker exec \ -it $(docker ps -f name=wssh -q | head -n 1) \ python3 -c "from src.configuration.hosts.cleanup import HostCleanup; HostCleanup().delete_jh_user('<username>')"Здесь
<username>— имя пользователя.
При следующем подключении сертификаты будут сгенерированы заново.
Настройки и служебные данные
Служба wssh использует следующие файлы и директории:
-
/opt/skala-r/platform-services/configs/wssh.yml— основные настройки; -
/opt/skala-r/platform-services/logs/wssh/— журналы работы; -
/opt/skala-r/platform-services/wssh/app/src/configuration/setting/— настройки доступа и файлы sudoers; -
/opt/skala-r/platform-services/wssh/app/src/configuration/settings/hosts.yaml— список узлов, доступ к которым обеспечивает служба; -
/opt/skala-r/platform-services/wssh/ca— ключ для подписи корневых сертификатов SSH; -
/opt/skala-r/platform-services/wssh/dumps/— дампы сессий SSH; -
/opt/skala-r/platform-services/wssh/home/— домашние директории пользователей с ключами SSH; -
/opt/skala-r/platform-services/wssh/server_crt/— SSL-сертификаты сервера SSH; -
/opt/skala-r/platform-services/wssh/ssh_hostkeys/— ключи сервера SSH.
|
Перед обновлением и переустановкой платформы создайте резервную копию конфигурационных файлов службы |
Сброс конфигурации сервиса и узлов
Если до обновления или переустановки платформы не удалось создать резервную копию конфигурационных файлов wssh, а затем восстановить их, при подключении к узлам будут возникать ошибки.
В этом случае необходимо сбросить конфигурацию узлов:
-
Подключитесь к узлу со службой
wssh. -
Выполните соответствующую команду.
-
Сброс конфигурации всех узлов:
docker exec \ -it $(docker ps -f name=wssh -q | head -n 1) \ curl -k -X DELETE https://wssh:8080/configuration -
Сброс конфигурации отдельного узла:
docker exec \ -it $(docker ps -f name=wssh -q | head -n 1) \ curl -k -X DELETE https://wssh:8080/configuration?ip=<host>Здесь
<host>— IP-адрес нужного узла.
-