The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Раздел полезных советов: Использование SSH-ключей в Gitlab CI"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Использование SSH-ключей в Gitlab CI"  +1 +/
Сообщение от auto_tips (??), 21-Фев-20, 09:00 
Многие хотят использовать ssh ключи в свох CI/CD (не одобряю), но давайте делать это правильно:

   before_script:
    - '[[ ! -d /root/.ssh ]] && mkdir /root/.ssh && chmod 700 /root/.ssh'
    - '[[ -f /.dockerenv ]] && echo -e "Host *\\n\\tStrictHostKeyChecking no\\n\\n" > ~/.ssh/config'
    - 'which ssh-agent || (yum install openssh-clients -y; yum clean all -y )'
    - eval $(ssh-agent -s)
    - ssh-add <(echo "$SSH_PRIVATE_KEY")
    - mkdir -p ~/.ssh

В $SSH_PRIVATE_KEY устанавливаем "protected" переменную в интерфейсе самого Gitlab (repo->settings->ci/cd-> vars )

Данный сниппет рассчитан на CentOS, но легко адаптируется по любую ОС, работает в докер окружении (см. строку #2). При таком подходе больше нет нужды помещать id_rsa в репозитории (ему там и не место).  

URL:
Обсуждается: https://www.opennet.ru/tips/info/3132.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Использование SSH-ключей в Gitlab CI"  +/
Сообщение от gg (??), 21-Фев-20, 09:00 
https://docs.gitlab.com/ee/ci/ssh_keys/
Ответить | Правка | Наверх | Cообщить модератору

2. "Использование SSH-ключей в Gitlab CI"  +/
Сообщение от pXeL (?), 26-Фев-20, 10:10 
были ситуации когда через агент очень не удобно работать с ключиком.
думаю кому надо, то тот и без этой трех-этажерки знает что делает :)))
Ответить | Правка | Наверх | Cообщить модератору

3. "Использование SSH-ключей в Gitlab CI"  +/
Сообщение от Аноним (3), 27-Фев-20, 23:41 
Самое главное ты забыл:
export SSH_PRIVATE_KEY=WIPED;
Ответить | Правка | Наверх | Cообщить модератору

4. "Использование SSH-ключей в Gitlab CI"  +/
Сообщение от Ano (?), 07-Мрт-20, 18:26 
А для чего это ? все делается в настройках репы
Ответить | Правка | Наверх | Cообщить модератору

7. "Использование SSH-ключей в Gitlab CI"  +/
Сообщение от Аноним (7), 13-Мрт-20, 10:34 
Чтобы во время сборки нельзя было угнать ключ через /proc/$pid/environ.
Ответить | Правка | Наверх | Cообщить модератору

5. "Использование SSH-ключей в Gitlab CI"  +/
Сообщение от Дмитрий (??), 11-Мрт-20, 14:14 
Есть намного проще вариант.
Добавляем ключ в CI переменных с именем SSH_KEY и типом "File"

chmod 600 "${SSH_KEY}"
ssh -i ${SSH_KEY} -o trictHostKeyChecking=no user@server "deploy cmd"

Ответить | Правка | Наверх | Cообщить модератору

8. "Использование SSH-ключей в Gitlab CI"  +/
Сообщение от Прыгающий Ленивец (?), 22-Мрт-23, 02:42 
В этом варианте ключ оказывается на фс контейнера с раннером. В это время его оттуда можно прочитать да и после завершения пайплайна никто не обещал, что данные на диске не останутся. Правда вариант с ssh-add < (echo …) тож кривой, т.к. на время выполнения этой команды ключик будет красоваться в выводе ps, но тут оно хотя бы в персистентное хранилище не пишется
Ответить | Правка | Наверх | Cообщить модератору

6. "Использование SSH-ключей в Gitlab CI"  +1 +/
Сообщение от burik666email (ok), 11-Мрт-20, 17:23 
> StrictHostKeyChecking no

За это бить надо.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру