Настройка GitHub на новом Mac

Недавно я приобрел новый Mac, и мне понадобилось настроить git с доступом к Github на новом компьютере. Я решил задокументировать этот процесс.

Сначала создайте новый ssh-ключ, добавив пароль:

ssh-keygen -t rsa -b 4096
Вход в полноэкранный режим Выйти из полноэкранного режима

Этот ключ находится в папке .ssh вашего домашнего каталога: ~/.ssh/rsa_id.

Теперь скопируйте открытый ключ в буфер обмена, чтобы добавить его в GitHub:

cat ~/.ssh/id_rsa.pub | pbcopy
Войдите в полноэкранный режим Выйдите из полноэкранного режима

В GitHub перейдите к настройкам учетной записи и в левом навигационном меню выберите SSH и GPG ключи. Нажмите кнопку Новый SSH-ключ. Введите название ключа и вставьте содержимое буфера обмена в поле Ключ. Нажмите кнопку Добавить SSH-ключ, чтобы сохранить его.

Настройте git локально, используя адрес электронной почты из учетной записи GitHub:

git config --global user.email "<YourEmail@somewhere.com>"
git config --global user.name "<YourUserName>"
Войдите в полноэкранный режим Выход из полноэкранного режима

Вместо того чтобы вводить пароль при каждом использовании git, храните пароль в связке ключей локально. В папке .ssh создайте файл с именем config:

touch ~/.ssh/config
Вход в полноэкранный режим Выйти из полноэкранного режима

Откройте файл config в редакторе и добавьте следующее содержимое:

Host * UseKeychain yes AddKeysToAgent yes
Вход в полноэкранный режим Выйти из полноэкранного режима

При следующей отправке на GitHub будет запрошен пароль, и с этого момента он будет храниться в связке ключей, и git больше не будет запрашивать пароль.

Поскольку я использую GitHub, я использую ключ GPG для подтверждения своей личности при фиксации и публикации кода. Я вижу, что мои коммиты проверены, что защищает меня от того, что кто-то подделает пуши в мои репозитории:

Первый шаг — создание ключа GPG. Я установил и использовал Mac GPG Tools для создания ключа. После установки программа запускается. Создайте новый ключ, используя надежный пароль и тот же адрес электронной почты, который используется для GitHub:

Выберите надежную парольную фразу:

После создания парольной фразы для ключа установите открытый ключ на GitHub. Сначала скопируйте открытый ключ в файл, используя адрес электронной почты, использованный при создании ключа, а затем скопируйте содержимое файла в буфер обмена:

gpg --export --armor YourEmail@somewhere.com > public-key.asc
cat public-key.asc | pbcopy
Войти в полноэкранный режим Выйти из полноэкранного режима

В GitHub перейдите к настройкам учетной записи и выберите SSH и GPG-ключи в левом навигационном меню. Нажмите кнопку Новый ключ GPG. Введите название ключа и вставьте содержимое буфера обмена в поле Key. Нажмите кнопку Добавить ключ GPG, чтобы сохранить его.

Далее настройте git на использование ключа GPG. Сначала найдите идентификатор ключа:

gpg --list-secret-keys --keyid-format=long
Войти в полноэкранный режим Выйти из полноэкранного режима

Результат должен выглядеть следующим образом:

/Users/username/.gnupg/pubring.kbx

sec rsa4096/EAF3888888888888E 2022-07-17 [SC] [expires: 2026-07-17]
919488888888888888888888888888888888888E
uid [ultimate] Your Name YourEmail@somewhere.com
ssb rsa4096/A888888888888884 2022-07-17 [E] [expires: 2026-07-17]
Войти в полноэкранный режим Выйти из полноэкранного режима

В строке ниже строки с адресом электронной почты скопируйте текст после rsa4096/ и перед датой. Используйте этот идентификатор, чтобы настроить git на подписание коммитов:

git config --global user.signingkey A888888888888884
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь, когда вы готовы зафиксировать код, предназначенный для GitHub, добавьте новый параметр в команду: -S.

git commit -S -m "A clear commit message"
Войти в полноэкранный режим Выйти из полноэкранного режима

При первой фиксации с новым параметром Mac GPG запросит парольную фразу, установленную на ключе выше. Вы можете выбрать сохранение парольной фразы в связке ключей для последующих фиксаций.

Теперь моя машина настроена для работы с GitHub и проверки моей личности при фиксации.

Оцените статью
devanswers.ru
Добавить комментарий