База знаний VMmanager

Как изменить SSH-ключи на узлах

В статье рассмотрены следующие темы:

  • насколько безопасно менять SSH-ключи на действующей платформе;
  • как заменить SSH-ключи на всех узлах;
  • как проверить логи замены ключей.

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

Безопасность

Замена SSH-ключей на действующей платформе не нарушит её работоспособность и безопасность при выполнении следующих рекомендаций:

  • перед заменой ключа переведите узлы в режим обслуживания;
  • в процессе обновления ключей не выполняйте операции на узле.

Как обновить SSH-ключ

Внимание

После замены ключей перезапустятся следующие сервисы на узлах:

  • hawatch — сервис взаимодействия с отказоустойчивым кластером;
  • node_alert — сервис слежения за узлами кластера;
  • monitor — сервис сбора и отображения информации о текущем состоянии ВМ и узлов кластера.

Работа этих сервисов будет приостановлена на время перезапуска. Когда сервисы возобновят работу, платформа проведёт их повторный опрос для получения информации.

Чтобы обновить SSH-ключ:

  1. Подключитесь к серверу с платформой по SSH.
  2. Выполните команду:

    docker exec -it vm_box curl 'input:1500/vm/v3/ssh_key_replace' -X POST -H 'internal-auth: on' --data-raw '{}'

    После выполнения команды платформа сформирует новые ключи и заменит старые ключи на узлах кластера.

  3. Перезапустите платформу:

    vm restart

Логирование

SSH-ключи и логи по замене ключей находятся в контейнере vm_box:

  • /var/log/node_ssh_key_replace.log — лог замены ключей;
  • /opt/ispsystem/vm/etc/.ssh директория с ключами. Старые ключи имеют расширение .bak.

Подробнее о работе с контейнерами и структуре платформы см. в статье Структура VMmanager.