Настройки git для работы с github
Инсталляция gh в Ubuntu Linux
gh - консольная программа для работы с GitHub API в командной строке.
$ cd ~/tmp
$ vi gh.sh
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable master" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
$ chmod +x gh.sh
$ ./gh.sh
// Чтобы создавался origin на ssh а не https
$ gh config set git_protocol ssh -h github.com
$ git config --global user.name "<GITHUB_USERNAME>"
$ git config --global user.email "<GITHUB_EMAIL>"
Настройка работы с GitHub по SSH ключу
Сгенерировать ключ для GitHub
$ cd ~/.ssh/
$ ssh-keygen \
-t rsa \
-b 4096 \
-C "[email protected]" \
-f webmakaka
$ chmod 0600 webmakaka*
$ eval "$(ssh-agent -s)"
// Добавить ключ
$ ssh-add ~/.ssh/webmakaka
// Проверка, что ключ добавлен
$ ssh-add -l -E md5
// Посмотреть public key
$ cat webmakaka.pub
В настройка аккаунта github добавить public key
https://github.com/settings/keys
New SSH key
// Проверка возможности подключиться
$ ssh -T [email protected]
// При необходимости использовать токен
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/webmakaka -o IdentitiesOnly=yes' ssh -T [email protected]
Использовать несколько ключей для разных github аккаунтов
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/webmakaka -o IdentitiesOnly=yes' git push