Описание
Необходимо изменить имя пользователя, которое используется в платформе для подключенного узла виртуализации. При этом требуется изменить учётную запись в рабочем режиме, без повторного подключения узла.
Внимание
По умолчанию имя пользователя задаётся при первом подключении узла и в дальнейшем не может быть изменено через веб-интерфейс.
Решение
Чтобы изменить имя пользователя для узла:
- Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- Скопируйте новому пользователю SSH-ключи текущей учётной записи, которую необходимо заменить:
sudo cp /home/<имя_текущего_пользователя>/.ssh/authorized_keys /home/<имя_нового_пользователя>/.ssh/authorized_keys
ПоясненияЕсли требуется получить ключ, выполните инструкцию из статьи Если удалён файл SSH-ключа на узле кластера.
- Назначьте нового пользователя владельцем SSH-ключей:
sudo chown -R <имя_нового_пользователя>:<имя_нового_пользователя> /home/<имя_нового_пользователя>/.ssh
Пояснения - Добавьте учётную запись нового пользователя в группы в зависимости от ОС:
AlmaLinux, Ubuntusudo usermod -a -G sudo <имя_нового_пользователя>
Astra Linuxsudo usermod -a -G astra-admin,sudo <имя_нового_пользователя>
ПоясненияДля этих групп разрешено выполнение команд без пароля на узле кластера в файле /etc/sudoers параметром NOPASSWD.
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- Выполните команду:
sudo docker exec vm_box curl -X 'POST' 'http://input:1500/vm/v3/node/<ID_узла>' -H 'Internal-Auth: on' -d '{"ssh_user": "<имя_нового_пользователя>"}'
Пояснения - Проверьте, что в карточке узла отобразилось новое имя пользователя.
- Проверьте, что команда vssh работает для всех узлов и авторизует пользователя с правами root:
sudo docker exec -it vm_box bash -c 'vssh -a "id"'
Пример выводаNode 4: uid=0(root) gid=0(root) groups=0(root),126(libvirt),127(libvirt-admin) Node 3: uid=0(root) gid=0(root) groups=0(root),126(libvirt),127(libvirt-admin) Node 2: uid=0(root) gid=0(root) groups=0(root),126(libvirt),127(libvirt-admin)
Может быть полезно
Связанные статьи: