Создаем репозиторий Github с доступом через SSH

13 августа 2021 г. Github закрыл доступ к репозиториям по паролю. Все основные оперции теперь должны осуществляться через ssh.

На сервере у нас есть рабочая папка с проектом, который еще не передан под git. Исправим это.
Зайдем в папку проекта и инициализируем git
git init
Добавим в git все питоновские файлы
git add *.py
При необходимости создаем .gitingnore и добавляем туда пути, которые не должны включаться в репозиторий.
Делаем коммит
git commit -m "Initial commit"

Теперь создадим ssh-ключ, который будем использовать для подключения к Github:
ssh-keygen -t rsa -C "email@email.ru"
здесь, разумеется, нужно указать свой почтовый ящик.
Добавляем ключ в окружение
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

Выведем на экран сгенерированный ключ
cat ~/.ssh/id_rsa.pub
это будет набор символов, он должен начинаться с ssh-rsa и заканчиваться твоим почтовым ящиком. Выделяем курсором мыши весь этот текст, копируем в буфер и идём на Github.
Там авторизуемся и переходим в настройках профиля в раздел SSH and GPG keys или просто забиваем в адресную строку браузера https://github.com/settings/keys.
Там тыкаем New SSH key, вводим его название, вставляем из буфера тело ключа в поле Key, жмём Add SSH key.
Далее, создаем репозиторий для проекта. Обозначим его как . Путь к репозиторию выглядит как https://github.com/<user>/<myproject>.git.
Возвращаемся на сервер в рабочую папку проекта и цепляем локальный репозиторий к репозиторию на Гитхабе:
git remote add origin https://github.com/<user>/<myproject>.git
git branch -M main
Сообщаем гиту, что мы хотим теперь подключаться к Гитхабу через ssh:
git remote set-url origin git@github.com:<user>/<myproject>
Ну и, собственно, пушим наш проект в первый раз:
git push --set-upstream origin main
Для последующих пушей достаточно будет скомандовать:
git push
tags: