SSH Key Generation

# Вывести список созданных ключей:
ls -la .ssh/

# Для более структурированного вывода вы можете добавить команде пару параметров:
ls -lAFho .ssh/ 

Сгенерируйте в терминале приватный и публичный ключи. У публичного расширение .pub, у приватного расширения нет. Оба ключа сохранятся на вашем компьютере. Публичный нужен для привязки к «Гиту». В строке e-mail обязательно укажите адрес почты, которая привязана к «Гитхабу»:

 ssh-keygen -t ed25519 -C "praktikum.student@yandex.ru"
  

Если у вас появилось сообщение об ошибке, скорее всего ваша система не поддерживает алгоритм шифрования ed25519. Всё нормально, в таком случае достаточно воспользоваться другим алгоритмом:

 ssh-keygen -t rsa -b 4096 -C "praktikum.student@yandex.ru"
  

После ввода отобразится сообщение:

 > Generating public/private rsa key pair.
  

Укажите место хранения ключей. Простой вариант — сделать домашний каталог пользователя путём по умолчанию. Для этого нажмите Enter:

 > Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
  

Создайте пароль доступа к SSH-ключу. Его нужно вводить при каждом соединении через протокол. Поэтому запомните его или запишите:

 > Enter passphrase (empty for no passphrase): [Type a passphrase]
 > Enter same passphrase again: [Type passphrase again]
  

Когда вы будете вводить пароль, символы не будут появляться на экране, но на самом деле, пароль при этом вводится. Но вы можете оставить поле пустым, чтобы никогда не вводить пароль. Для этого нажмите Enter:

Запустите фоном команду ssh-agent. Она ищет SSH-ключ на вашем компьютере:

 eval $(ssh-agent -s)
  

Привяжите приватный ключ к ssh-agent. Тогда вы сможете не вводить пароль при каждой работе с репозиторием. Обратите внимание, что к агенту нужно привязывать именно приватный ключ — это файл без расширения .pub:

     # Выбор команды зависит от алгоритма шифрования
     # для ed25519:
     ssh-add ~/.ssh/id_ed25519
     # для rsa:
     ssh-add ~/.ssh/id_rsa
  

Привязка SSH-ключа к аккаунту GitHub

  1. Скопируйте публичный ключ в буфер обмена:

macOS

# Скопировать содержимое ключа в буфер обмена
# для ed25519:
pbcopy < ~/.ssh/id_ed25519.pub
# для rsa:
pbcopy < ~/.ssh/id_rsa.pub 

Windows

# Скопировать содержимое ключа в буфер обмена
# для ed25519:
clip < ~/.ssh/id_ed25519.pub
# для rsa:
clip < ~/.ssh/id_rsa.pub 

Если clip не сработает, найдите скрытую папку .ssh, откройте файл id_rsa.pub или id_ed25519.pub в любом текстовом редакторе. Скопируйте его содержимое в буфер обмена.

#git