Я настроил работу докера Gitlab CI для развертывания блога пеликанов с помощью rsync+ssh. Проблема в аутентификации.

Для этого я создал пару ключей ssh. Добавили их в качестве секретных переменных в проект Gitlab и добавили открытый ключ на сервер развертывания в качестве авторизованного ключа. В задании на развертывание я копирую секретный ключ в /root/.ssh/id_rsa и пробую rsync однако это не удается с:

rsync -e "ssh -p 22" -P -rvzc --delete /builds/www/site/output/ root@mydomain:/var/www/blog --cvs-exclude
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]

Задание развертывания определяется следующим образом:

image: ubuntu:latest

variables:
  GIT_SUBMODULE_STRATEGY: recursive

deploy:
  tags:
    - linux
  only:
    - production
  before_script:
    - apt-get update -qq && apt-get install -y -qq rsync python3 python3-venv python3-wheel python3-dev make gcc libssl-dev openssh-client
    - python3 -m venv site-venv
    - source site-venv/bin/activate
    - pip install --upgrade pip
    - pip install -r requirements.txt
    - mkdir -p $HOME/.ssh
    - echo $ID_RSA > $HOME/.ssh/id_rsa
    - echo $ID_RSA_PUB > $HOME/.ssh/id_rsa.pub
  script:
    - make publish
    - make deploy

Почему ключ не принят? Контейнер Docker имеет открытый и закрытый ключи, сервер имеет открытый ключ в авторизованных ключах. Есть ли какие-то детали, которые мне не хватает?

0