Skip to content

Latest commit

 

History

History
125 lines (102 loc) · 4.4 KB

9. Github - SSH keys.md

File metadata and controls

125 lines (102 loc) · 4.4 KB

Налаштування SSH для GitHub

1️. Генерація SSH-ключа локально

ssh-keygen -t ed25519 -C "your_email@example.com"

(Замініть your_email@example.com на вашу електронну пошту GitHub.)

  • Коли з'явиться запит "Enter file in which to save the key", натисніть Enter, щоб зберегти ключ у стандартному розташуванні (~/.ssh/id_ed25519).
  • Коли з'явиться запит на парольну фразу, можете або встановити її, або натиснути Enter, щоб залишити поле порожнім.

2️. Додавання SSH-ключа до агента SSH

Переконайтеся, що агент SSH запущений:

eval "$(ssh-agent -s)"

Потім додайте свій SSH-ключ:

ssh-add ~/.ssh/id_ed25519

Якщо виникає помилка запуску агента (error:1058 або "Access is denied"), спробуйте:

Get-Service ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent

3️. Копіювання SSH-ключа

Отримайте публічний ключ:

cat ~/.ssh/id_ed25519.pub

Скопіюйте ключ.


4. Додавання SSH-ключа до GitHub

  1. Перейдіть у GitHub SSH Keys.
  2. Натисніть "New SSH Key".
  3. У полі "Title" введіть щось на кшталт Мій ноутбук SSH Key.
  4. У полі "Key" вставте скопійований ключ.
  5. Натисніть "Add SSH Key".

5️. Тестування з'єднання по SSH

Виконайте команду:

ssh -T git@github.com

Коли ви вперше підключаєтеся до git@github.com через SSH, Git перевіряє, чи є GitHub у вашому списку довірених хостів (~/.ssh/known_hosts). Якщо його там немає, система запитує підтвердження:

The authenticity of host 'github.com (IP_ADDRESS)' can't be established.
ED25519 key fingerprint is SHA256:************.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Коли ви вводите yes, SSH додає GitHub до файлу known_hosts, щоб у майбутньому не питати підтвердження при кожному з'єднанні. Якщо все працює, ви побачите:

Hi <your-github-username>! You've successfully authenticated, but GitHub does not provide shell access.

6️. Ініціалізація локального Git-репозиторію

Якщо у вас ще немає репозиторію, створіть його:

git init

Додайте файли та зробіть перший коміт:

git add .
git commit -m "Initial commit"

7️. Додавання віддаленого репозиторію

Якщо репозиторій ще не підключений, перевірте його адресу:

git remote -v

Якщо віддалений репозиторій не вказаний, додайте його:

git remote add origin git@github.com:your-github-username/repository.git

8️. Відправка змін на GitHub

Спробуйте виконати команду push:

git push -u origin main

Якщо ви отримали помилку src refspec main does not match any, спочатку зробіть коміт:

git commit -m "Initial commit"

9️. Усунення помилки "Updates were rejected"

Якщо git push відхилено через зміни на віддаленому сервері:

git pull --rebase origin main

Після успішного злиття змін виконайте:

git push origin main

Якщо ви хочете перезаписати віддалений репозиторій (⚠️ небезпечна дія!):

git push --force origin main

Важливо: Форсований пуш видалить віддалені зміни, тому використовуйте його лише в крайніх випадках.