У меня есть следующие команды:

eval $(ssh-agent -s)

'[[-f /.dockerenv]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n"> ~ /.ssh /config'

ssh-add <(echo "$ PRIVATE_KEY")

Может кто-нибудь объяснить, что делают эти команды, работая в Ubuntu Linux?

1 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .