Вообще говоря, в контексте gitlab-runner они работают в документированной версии Ubuntu для настройки среды ssh
(агент, ключи и config), чтобы у бегуна был доступ к git. репозиторий.
В частности:
eval $(ssh-agent -s)
... при этом запускается ssh-agent
и настраивается среда (через eval
) работающей оболочки для указания на этого агента. Агент будет (ниже) удерживать клавиши SSH.
'[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
... это (довольно деструктивно) смешивается с файлом конфигурации ssh
(~/.ssh/config
), чтобы сказать ssh
не обращать большого внимания на ключи хоста, которые ssh
обычно использует, чтобы гарантировать, что ваш сеанс ssh
подключается только к проверенным хостам ,
ssh-add <(echo "$PRIVATE_KEY")
... и, наконец, это добавляет секретный ключ ssh к агенту (начато выше). Затем ключ будет использоваться, чтобы позволить бегуну получить ssh-доступ к git remote, который содержит код.
Если вы действительно хотите , чтобы узнать больше о том , как бегун работает, я предлагаю вам использовать man
UAL страницы , чтобы понять каждую команду в последовательности.