У мене є середовище Gitlab, що використовує Cit Gitlab, для нового проекту, який свідчить про складені файли та копіює через rsync на виробничий сервер.
Машина, на якій виконується збірка цих ресурсів, - це зображення докера (вузол 6), але тепер мені доведеться скопіювати отримані файли з цієї контейнерної команди Docker на сервер за допомогою Linux ... Моя проблема полягає в підключенні через ssh через rsync.
На даний момент у мене є:
stages:
- deploy
before_script:
- npm i
- npm run build
job_deploy:
stage: deploy
script:
- ssh-keygen -t rsa -b 4096 -C '' -f ~/.ssh/deploy_rsa
- ssh-keyscan -H 8.8.8.8 >> ~/.ssh/known_hosts
- ssh-copy-id -i ~/.ssh/deploy_rsa.pub $SERVER_USER@8.8.8.8
- rsync -avuz $CI_PROJECT_DIR/dist/ $SERVER_USER@8.8.8.8:/var/wwww/example.com
only:
- master
Цим я отримую:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
3
Тут я не підкреслюю те, що ви створюєте новий ключ ssh на льоту, будь-яка збірка не є? Звідки сенс використання ssh leys whrn you.need pwd для розгортання ключа pub?
—
lrkwz
Як і @lrkwz, я також пропускаю точку надсилання нового ключа при кожній збірці, коли ви все одно будете просити пароль. Також я хотів би побачити файл дозволених_кісів на віддаленому сервері ...
—
Fábio Duque Silva