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