Закрытые (private) репозитории на GitHub требуют аутентификации. На Ubuntu это удобно делать через SSH-ключи, что избавляет от постоянного ввода логина и пароля и повышает безопасность.
🔑 Шаг 1: Генерация SSH-ключа
Откройте терминал и выполните:
ssh-keygen -t ed25519 -C "your_email@example.com"
Если ваша версия OpenSSH не поддерживает ed25519
, используйте:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
При запросе пути сохранения можно указать имя файла, например:
~/.ssh/github_private_repo
📋 Шаг 2: Добавление ключа в ssh-agent
Запустите агент и добавьте ключ:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/github_private_repo
🌐 Шаг 3: Добавление публичного ключа в GitHub
- Скопируйте содержимое файла
~/.ssh/github_private_repo.pub
:cat ~/.ssh/github_private_repo.pub
- Зайдите в GitHub → Settings → SSH and GPG keys.
- Нажмите New SSH key, вставьте ключ в поле Key, задайте название (например, «Ubuntu Workstation») и сохраните.
⚙️ Шаг 4: Настройка SSH-конфига
Чтобы GitHub использовал нужный ключ, создайте или отредактируйте файл ~/.ssh/config
:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_private_repo
IdentitiesOnly yes
📥 Шаг 5: Клонирование закрытого репозитория
Используйте SSH-адрес репозитория (его можно скопировать на странице репозитория в GitHub, выбрав вкладку SSH):
git clone git@github.com:username/private-repo.git
🛠️ Возможные проблемы
- Permission denied (publickey) — проверьте, что ключ добавлен в ssh-agent и в GitHub.
- Если у вас несколько ключей, убедитесь, что в
~/.ssh/config
указан правильныйIdentityFile
. - Для доступа к чужому приватному репозиторию владелец должен добавить вас в Collaborators или в команду организации.
✅ Итог
Теперь вы можете безопасно работать с закрытыми репозиториями GitHub на Ubuntu, используя SSH-ключи. Это избавит от ввода пароля и обеспечит стабильный доступ к проектам.