ssh-agent
SSH-агент — це програма, яка допомагає керувати приватними ключами SSH та автоматично використовує їх під час спроби з'єднання з віддаленим сервером. Щоб додати ключ до агента, потрібно виконати таку команду:
eval "$(ssh-agent -s)"
Ця команда запустить агента SSH та встановить змінні середовища для поточного сеансу оболонки. Якщо команда відпрацює успішно, то ти побачиш наступне:

macOS
У залежності від середовища, яким ти користуєшся, тобі можуть знадобитися такі команди:
sudo -s -Hдля кореневого доступу перед запуском SSH-агенту;exec ssh-agent bashабоexec ssh-agent zshдля запуску SSH-агенту.
Якщо ти користуєшся macOS Sierra 10.12.2 або новішою версією, то щоб автоматично завантажувати ключі в SSH-агент і зберігати парольні фрази у зв’язку ключів, потрібно буде змінити файл ~/.ssh/config:
- Спочатку перевір чи такий файл існує:
open ~/.ssh/config
Замість
openможна використовувати інші команди, наприклад,lsабоcode ~/.ssh/config.
Якщо такий файл існує, то він відкриється в блокноті, наприклад:

- Якщо файлу немає, то отримаємо приблизно таке повідомлення:
The file /Users/YOU/.ssh/config does not exist.
Створити його можна наступною командою:
touch ~/.ssh/config
Ти можеш створити цей файл іншим способом, головне, щоб він був у правильній локації.
Далі відкрий цей файл та встав у нього наступний текст:
Host github.com* AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519
Якщо до ключа не було додано парольної фрази
passphraseна другому кроці, то рядокUseKeychainне потрібно додавати у файл.
- Збережи файл.
Якщо після збереження файлу ти побачиш помилку Bad configuration option: usekeychain, додай рядок `Host*.github.com` до файлу.
Додай свій закритий ключ SSH до агента та збережи свою парольну фразу у зв’язці ключів. Якщо ключ було створено з іншим ім’ям або якщо ти додаєш існуючий ключ з іншим ім’ям, то заміни id_ed25519 у команді на ім’я твого файлу приватного ключа. Для цього виконай наступну команду:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
Зверни увагу: коли ти додаєш ключ SSH до агента, параметр --apple-use-keychain зберігає парольну фразу у зв’язці ключів. Якщо парольна фраза не була додана до ключа, виконай команду без параметра --apple-use-keychain:
ssh-add ~/.ssh/id_ed25519
Ось приклад виконання:

Параметр --apple-use-keychain є в стандартній версії Apple ssh-add. У версіях macOS до Monterey (12.0), параметри --apple-use-keychain та --apple-load-keychain мають синтаксис -K та -A відповідно.
Якщо в тебе не встановлено стандартну версію
ssh-addвід Apple, ти можеш отримати помилку Error: ssh-add: illegal option -- K.
Якщо запит на введення парольної фрази продовжує з’являтися, можливо, потрібно буде додати команду до файлу ~/.zshrc (або файлу ~/.bashrc для Bash).
Крок 4. Додаємо ключ до акаунту на GitHub
Далі потрібно скопіювати наш ключ у буфер обміну. Якщо ти користуєшся Windows, то виконай наступну команду:
clip < ~/.ssh/id_ed25519.pub
А для macOS можна використати таку команду:
pbcopy < ~/.ssh/id_ed25519.pub
Термінал тобі нічого не «відповість», але в буфері при використанні опції «Вставити» має бути ключ:

Тепер відкрий свій GitHub-акаунт та натисни на свій аватар у правому верхньому кутку. Там обери вкладку Settings:
Зліва в секції Access обери SSH and GPG keys:

Біля SSH keys натисни на кнопку New SSH key або Add SSH key:

Далі виконай наступні дії:
- У полі Title додай описову мітку для нового ключа. Наприклад, «Особистий ноутбук».
- Обери тип ключа: Authentication Key (автентифікація) чи Signing Key (підпис). Додаткову інформацію про підписання комітів ти можеш переглянути в документації About commit signature verification. Якщо не знаєш що обрати, то залиш дефолтне значення — Authentication Key.
- У полі Key встав скопійований ключ.
- Натисни кнопку [Add SSH key].
Можливо тобі буде потрібно ввести пароль від GitHub-акаунту, щоб підтвердити цю операцію — зроби це. Додаткову інформацію дивись у розділі Sudo mode.

Крок 5. Тестуємо
Повернись у термінал та виконай наступну команду:
ssh -T git@github.com
Якщо ти отримаєш подібне повідомлення, значить усе окей:

А якщо ти побачиш такі повідомлення:
The authenticity of host 'github.com (IP ADDRESS)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
Are you sure you want to continue connecting (yes/no)?
…надрукуй у терміналі yes і натисни ENTER.
Наші вітаннячка! Твій ключ додано!