Недавно я настроил Бегуна Gitlab на VM, и я хотел добавить связку ключей на этом VM, чтобы позволить бегуну выполнять команды как scp или SSH, не выставляя мой SSH passphras (https://www.cyberciti.biz/faq/ssh-passwordless-login-with-keychain-for-scripts/)
И когда я устанавливаю gitlab-multi-runner (https://docs.gitlab.com/runner/install/linux-repository.html), я вижу новую папку"gitlab-runner
"в моем /home
.
Таким образом, я добавил пароль к этому пользователю (passwd команда), отредактируйте ее .bash_profile, как описано в ссылке выше и генерируйте новые ключи SSH.
Мой бегун хорошо работает, мой .gitlab-ci.yml может выполнить команды scp как это:
scp jon.doe YOUR_LOGIN@DEV_SERVER_ADDRESS:/var/www/
Никакой пароль, требуемый / выставленный.
Так здесь мои вопросы:
Я думаю, что не должно быть никакой проблемы, но я не эксперт в Linux и SSH так...
Спасибо за Ваши ответы!
это безопасный настроить бегуна как это?
только при выполнении заданий, это в порядке.
, Если кто-то еще (Вы не доверяете) может продвинуть какую-либо произвольную команду в Ваш .gitlab-cy.yml
, он может в основном выполнить любой произвольный код на Вашей виртуальной машине и на Вашей другой машине (который является, конечно, не, что Вы хотите).
необходимо ограничить удаленного пользователя YOUR_LOGIN
на dev сервере, чтобы сделать минимум, необходимый ForceCommand
(scponly
или просто принудительная команда к scp
в определенный каталог), перенаправление портов блока и возможно использовать chroot.