2016-12-08 3 views
0

Недавно я настроили Gitlab Runner на виртуальной машине, и я хотел бы добавить брелку на эту виртуальную машину, чтобы бегун выполнять команды, как УППЫ или SSH, не подвергая мой SSH passphras (https://www.cyberciti.biz/faq/ssh-passwordless-login-with-keychain-for-scripts/)Gitlab бегун и брелка

и когда Я устанавливаю 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 [email protected]_SERVER_ADDRESS:/var/www/ 

Нет ключевая фраза требуется/не подвергается.

Так вот мои вопросы:

  1. Безопасно ли настроить бегуна, как это?
  2. Есть ли официальный или лучший способ сделать то, что я хочу? (Использовать SSH и SCP безопасно с gitlab бегуна)

Я думаю, что не должно быть никаких проблем, но я не эксперт в Linux и SSH так ...

Спасибо за ваши ответы!

ответ

0

я задал тот же вопрос о askubuntu и вот ответ: (Это может быть полезным для кого-то, в один прекрасный день ...):

Answer of Jakuje

Если только вы работаете на работу все хорошо.

Если кто-то еще (вы не доверяете), может нажимать любую произвольную команду в ваш .gitlab-cy.yml, он может в основном запускать любой произвольный код на вашей виртуальной машине и на другой машине (что, конечно же, не то, что вы хотите).

Вы должны ограничить удаленный пользователь YOUR_LOGIN на сервере Dev сделать минимум, необходимый ForceCommand (scponly или просто форсированной командой к scp в определенный каталог), перенаправление портов блока и, возможно, использовать корневой.

А для тех, кто нуждается в информации о ForceCommand, you can follow this link