Сегодня предлагаю ознакомиться с такой темой как доступ к репозиториям через SSH.

Да эта тема простая, но все же считаю необходимым осветить ее в рамках блога.

В данной заметке используются глобальные настройки Git, но никто не запрещает вам использовать индивидуальные настройки для каждого репозитория. Инструкция по работе с Git будет позже, в виде отдельной статьи.

Почему SSH, а не HTTPS?

У SSH доступа есть несколько преимуществ, а именно:

  • SSH не использует аутентификацию по паролю
  • SSH проще в настройке
  • SSH после настройки позволяет быстро подключаться к приложениям «на лету»

И самое главное отличие:

  • Не требуется повторная аутентификация для каждого действия

Что потребуется для работы?

Для работы вам потребуется установленный и настроенный клиент Git. Например, можно взять классический Git с сайта https://git-scm.com/

Настройка Git:

  1. После установки Git запускаем CMD и вводим команду: git config –list –show-origin
  2. Сейчас нас интересуют два параметра: user.name и user.email
  3. Зададим эти параметры глобально:
    git config –global user.name “<Имя_пользователя>”
    git config –global user.email “<Почта_пользователя>”

Это важно, потому что каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена.

Приступаем к созданию SSH ключей

Все примеры будут приводиться для моей рабочей учетной записи.

Открываем командную строку и выполняем следующие команды:

Создание SSH ключа:

  1. ssh-keygen -t ed25519 -C “stravnik@devops.spb.ru” -f C:\Users\Stravnik\.ssh\bitbucket.devops.spb.ru\id_ed25519
  2. echo “Host bitbucket.devops.spb.ru” >> C:\Users\Stravnik\.ssh\config
  3. echo ” IdentityFile C:\Users\Stravnik\.ssh\bitbucket.devops.spb.ru\id_ed25519″ >> C:\Users\Stravnik\.ssh\config
  4. cat C:\Users\Stravnik\.ssh\bitbucket.devops.spb.ru\id_ed25519.pub

Привязываем SSH ключ к своему аккаунту

  1. Заходим в Gitea
  2. Сверху справа “клик” по фото профиля -> “Настройки”
  3. Выбираем пункт “SSH / GPG ключи” -> “Добавить ключ”
  4. Указываем имя ключа и открытый ключ, который мы получили командой cat в разделе «Приступаем к созданию SSH ключей»

Клонируем репозиторий

  1. Заходим в Gitea
  2. На странице репозитория есть ссылка для клонирования
  3. Копируем ее и идем в cmd
  4. В cmd вводим git clone <скопированная ссылка>
  5. Готово!

Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/devops_spb_ru (@devops_spb_ru)

От DevOps

DevOps or not...