Вообще говоря, в контексте gitlab-runner они работают в документированной версии Ubuntu для настройки ssh
среды (агента, ключей и конфигурации), чтобы у бегуна был доступ к репозиторию 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, чтобы понять каждую команду по порядку.