Загрузка данных


Нужный ключ — tf-runner@dcn03srv465, отпечаток SHA256:OUIpyIA(запасной вариант — ansible, SHA256:xWNL0F9BIF8). Найдите приватную половину:

  sudo ls -la /home/tf-runner/.ssh/
  sudo bash -c 'for k in /home/tf-runner/.ssh/* /root/.ssh/*; do
    case "$k" in *.pub|*known_hosts*|*config|*authorized_keys) continue;; esac
    fp=$(ssh-keygen -y -f "$k" 2>/dev/null | ssh-keygen -lf - 2>/dev/null)
    [ -n "$fp" ] && echo "$k  ->  $fp"
  done'

  Если в выводе найдётся строка с OUIpyIAM6— это он. Тогда:

  echo 'ANSIBLE_SSH_KEY=<путь_к_найденному_ключу>' | sudo tee -a /etc/terraform-web.env
  sudo systemctl restart terraform-admin

  Вполне вероятно, что это окажется id_rsa_tfweb — один ключ и для GitLab, и для доступа на VM. Если совпадений нет ни на одном пути, значит приватной части этого ключа на 465 просто нет, и прогоны по ключу невозможны без
  её получения.

  Что можно проверить прямо сейчас, не дожидаясь ключа

  Пароль работает независимо от ключей, sshpass установлен. Скопируйте исправленный файл и перезапустите — для парольного входа это обязательно, иначе ping снова пойдёт от tf-runner вместо citadmin:

  sudo cp /mnt/usb/usb-tools-tab/opt/terraform-web/backend/ansible_runner.py /opt/terraform-web/backend/
  sudo systemctl restart terraform-admin

  Затем во вкладке заполните «SSH-пользователь» = citadmin и «SSH-пароль», цель 10.28.240.132, нажмите «Проверить связь». Это подтвердит, что весь путь (сборка команды, лок, лог, SSE, история, письмо) работает, и отделит
  вопрос аутентификации от всего остального.

  Отдельно стоит проверить на самой VM, что публичный ключ вообще там лежит:

  sudo cat /home/citadmin/.ssh/authorized_keys | ssh-keygen -lf -

  Если в списке нет OUIpyIAM… — VM создавалась до добавления этого ключа в роль либо не через портал, и ключевой доступ туда не настроен в принципе. Тогда рабочих вариантов два: разложить ключ прогоном роли
  base_configure_system (по паролю, один раз) — после этого ключевой доступ заработает, либо оставить парольный вход для таких машин.