Сегодня предлагаю ознакомиться с такой темой как доступ к репозиториям через SSH.
Да эта тема простая, но все же считаю необходимым осветить ее в рамках блога.
В данной заметке используются глобальные настройки Git, но никто не запрещает вам использовать индивидуальные настройки для каждого репозитория. Инструкция по работе с Git будет позже, в виде отдельной статьи.
Почему SSH, а не HTTPS?
У SSH доступа есть несколько преимуществ, а именно:
- SSH не использует аутентификацию по паролю
- SSH проще в настройке
- SSH после настройки позволяет быстро подключаться к приложениям «на лету»
И самое главное отличие:
- Не требуется повторная аутентификация для каждого действия
Что потребуется для работы?
Для работы вам потребуется установленный и настроенный клиент Git. Например, можно взять классический Git с сайта https://git-scm.com/
Настройка Git:
- После установки Git запускаем CMD и вводим команду: git config –list –show-origin
- Сейчас нас интересуют два параметра: user.name и user.email
- Зададим эти параметры глобально:
git config –global user.name “<Имя_пользователя>”
git config –global user.email “<Почта_пользователя>”
Это важно, потому что каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена.
Приступаем к созданию SSH ключей
Все примеры будут приводиться для моей рабочей учетной записи.
Открываем командную строку и выполняем следующие команды:
Создание SSH ключа:
- ssh-keygen -t ed25519 -C “stravnik@devops.spb.ru” -f C:\Users\Stravnik\.ssh\bitbucket.devops.spb.ru\id_ed25519
- echo “Host bitbucket.devops.spb.ru” >> C:\Users\Stravnik\.ssh\config
- echo ” IdentityFile C:\Users\Stravnik\.ssh\bitbucket.devops.spb.ru\id_ed25519″ >> C:\Users\Stravnik\.ssh\config
- cat C:\Users\Stravnik\.ssh\bitbucket.devops.spb.ru\id_ed25519.pub
Привязываем SSH ключ к своему аккаунту
- Заходим в Gitea
- Сверху справа “клик” по фото профиля -> “Настройки”
- Выбираем пункт “SSH / GPG ключи” -> “Добавить ключ”
- Указываем имя ключа и открытый ключ, который мы получили командой cat в разделе «Приступаем к созданию SSH ключей»
Клонируем репозиторий
- Заходим в Gitea
- На странице репозитория есть ссылка для клонирования
- Копируем ее и идем в cmd
- В cmd вводим git clone <скопированная ссылка>
- Готово!
Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/devops_spb_ru (@devops_spb_ru)