База знаний VMmanager
Режим фокусировки

Как управлять SSH-ключами на узлах кластера

Вопрос

Как управлять SSH-ключами на узлах кластера: получить информацию об их расположении, посмотреть логи замены, заменить и получить текущие ключи?

Ответ

Где хранятся ключи и логи их замены

Начиная с версии 2025.03.2 SSH-ключи хранятся в зашифрованном виде в таблице vault базы данных. В версиях до перехода на vault ключи располагались в директории /opt/ispsystem/vm/etc/.ssh/ контейнера vm_box.

Чтобы проверить логи замены ключей:

Для версий до 2026.02.2 в командах вместо контейнера vm_back используйте vm_box.
  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Выполните команду:
    docker exec -it vm_back cat /var/log/node_ssh_key_replace.log

Чтобы скопировать лог-файл в папку /root, выполните команду:

docker cp vm_back:/var/log/node_ssh_key_replace.log /root

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

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

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

Чтобы изменить SSH-ключ:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места .
  2. Выполните команду:
    docker exec -it vm_back curl 'input:1500/vm/v3/ssh_key_replace' -X POST -H 'internal-auth: on' --data-raw '{}'
    Платформа сгенерирует новые ключи и автоматически скопирует их на все узлы.
  3. Перезапустите платформу:
    vm restart

Как получить текущие ключи

Чтобы получить текущие ключи:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Выполните команду:
    • чтобы получить публичный ключ:
      docker exec -it vm_back curl -H 'internal-auth: on' 'http://input:1500/vault/v4/value/ssh_pub'|jq -r '.value'
    • чтобы получить приватный ключ:
      docker exec -it vm_back curl -H 'internal-auth: on' 'http://input:1500/vault/v4/value/ssh_priv'|jq -r '.value'
Может быть полезно