После того, как вы настроили свой SSH-ключ и добавили его в свою учетную запись GitHub, вы можете проверить свое соединение.

Перед проверкой SSH-соединения вы можете сделать:

  1. Проверку существующих ключей SSH
  2. Создать новый ключ SSH и добавить его в ssh-agent
  3. Добавить новый SSH-ключ в вашу учетную запись GitHub

Также у нас на сайте есть отличный Курс по Git для начинающих.

Проверка существующих ключей SSH

Перед тем, как сгенерировать SSH-ключ, вы можете проверить, есть ли у вас существующие SSH-ключи.

Примечание. Ключи DSA (SSH-DSS) больше не поддерживаются. Существующие ключи будут продолжать работать, но вы не сможете добавлять новые ключи DSA в свою учетную запись GitHub.

1. Откройте Терминал (Terminal).

1. Откройте Git Bash.

1. Откройте Терминал (Terminal)

2. Введите ls -al ~/.ssh, чтобы узнать, есть ли существующие ключи SSH:

$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist

Проверьте список каталогов, чтобы увидеть, есть ли у вас уже публичный SSH ключ. По умолчанию, имена файлов публичных ключей являются одними из следующих:

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

Если у вас нет существующей пары публичных и приватных ключей, или вы не хотите использовать любую доступную пару для подключения к GitHub, сгенерируйте новый SSH-ключ.

Если вы видите существующую пару публичных и приватных ключей (например, id_rsa.pub и id_rsa), которые вы хотите использовать для подключения к GitHub, вы можете добавить SSH-ключ в ssh-agent.

Подсказка. Если вы получили ошибку, что ~/.ssh не существует, не волнуйтесь! Мы создадим его, когда сгенерируем новый SSH-ключ.

Создание нового ключа SSH и добавление его в ssh-agent

После того, как вы проверили существующие SSH ключи, вы можете сгенерировать новый SSH ключ для аутентификации, затем добавить его в ssh-agent.

Если у вас еще нет SSH ключа, вы должны сгенерировать новый SSH ключ. Если вы не уверены, есть ли у вас уже SSH-ключ, проверьте существующие ключи.

Если вы не хотите вводить вашу ключевую фразу каждый раз, когда вы используете SSH-ключ, вы можете добавить ваш ключ к SSH-агенту, который управляет вашими SSH-ключами и запоминает вашу ключевую фразу.

1. Откройте Терминал (Terminal).

1. Откройте Git Bash.

1. Откройте Терминал (Terminal)

2. Вставьте текст ниже, подставив свой адрес электронной почты на GitHub.

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Это создает новый ключ ssh, используя указанный адрес электронной почты в качестве метки.

> Generating public/private rsa key pair.

Когда появится запрос «Ввести файл, в котором нужно сохранить ключ», нажмите Enter. При этом принимается расположение файла по умолчанию.

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

В приглашении введите защищенную ключевую фразу. Дополнительную информацию мы осветим в следующей статье по Git — «Работа с ключевыми фразами SSH».

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

Добавление вашего SSH-ключа в ssh-agent

Перед добавлением нового SSH-ключа в ssh-agent для управления вашими ключами, вы должны были проверить существующие SSH-ключи и сгенерировать новый SSH-ключ.

Если у вас установлен GitHub Desktop (для рабочего стола), то вы можете использовать его для клонирования репозиториев и не работать с SSH-ключами.

Убедитесь, что ssh-agent запущен. Или вы можете запустить его вручную:

# start the ssh-agent in the background
$ eval $(ssh-agent -s)
> Agent pid 59566

Добавьте ваш приватный ключ SSH к ssh-agent. Если вы создали ключ с другим именем, или если вы добавляете существующий ключ с другим именем, замените id_rsa в команде на имя файла с вашим приватным ключом.

$ ssh-add ~/.ssh/id_rsa

Далее нужно добавить ключ SSH в свою учетную запись GitHub.

Добавление ключа SSH в свою учетную запись GitHub

Чтобы настроить учетную запись GitHub для использования нового (или существующего) ключа SSH, вам также необходимо добавить его в свою учетную запись GitHub.

Прежде чем добавлять новый SSH-ключ в вашу учетную запись GitHub, вы должны были:

  • проверить наличие существующих ключей SSH;
  • сгенерировать новый ключ SSH и добавить его в ssh-agent.

После добавления нового ключа SSH в свою учетную запись GitHub вы можете перенастроить любые локальные репозитории для использования SSH. Про переключение удаленных URL-адресов с HTTPS на SSH мы поговорим в следующих статьях.

Примечание. Ключи DSA (SSH-DSS) больше не поддерживаются. Существующие ключи будут продолжать работать, но вы не сможете добавить новые ключи DSA в свою учетную запись GitHub.

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

Если ваш SSH-файл ключа имеет другое имя, чем в примере, измените имя файла, чтобы оно совпадало с вашими текущими настройками. При копировании ключа не добавляйте новые строки или пробелы.

Mac

$ pbcopy < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
Совет. Если pbcopy не работает, вы можете найти скрытую папку .ssh, открыть файл в своем любимом текстовом редакторе и скопировать его в буфер обмена.

Windows

$ clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
Совет. Если clip не работает, вы можете найти скрытую папку .ssh, открыть файл в любимом текстовом редакторе и скопировать его в буфер обмена.

Linux

$ sudo apt-get install xclip
# Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)

$ xclip -selection clipboard < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
Совет. Если xclip не работает, вы можете найти скрытую папку .ssh, открыть файл в любимом текстовом редакторе и скопировать его в буфер обмена.

2. В правом верхнем углу любой страницы кликните на свою фотографию в профиле, затем нажмите кнопку Settings (Настройки).

3. На боковой панели настроек пользователя нажмите «SSH и GPG ключи» (SSH and GPG keys).

4. Нажмите кнопку «Новый SSH ключ» (New SSH key) или «Добавить SSH ключ».

5. В поле «Заголовок» (Title) добавьте описательную метку для нового ключа. Например, если вы используете персональный Mac, вы можете назвать эту клавишу «Personal MacBook Air».

6. Вставьте свой ключ в поле «Ключ» (Key).

7. Нажмите кнопку «Добавить SSH ключи» (Add SSH key).

8. Если появится форма подтверждения — подтвердите пароль GitHub.

Проверка SSH-соединения

После того, как вы настроили свой SSH-ключ и добавили его в свою учетную запись GitHub, вы можете проверить соединение.

Перед тестированием вашего SSH соединения, вы должны были:

  • проверить наличие существующих ключей SSH;
  • сгенерирован новый ключ SSH;
  • добавить новый SSH-ключ к учетной записи GitHub.

Когда вы тестируете ваше соединение, вам нужно будет аутентифицировать это действие, используя ваш пароль, который является ключевой парольной фразой SSH, созданной вами ранее.

1. Откройте Терминал (Terminal).

1. Откройте Git Bash.

1. Откройте Терминал (Terminal)

2. Введите следующее:

$ ssh -T git@github.com
# Attempts to ssh to GitHub

Вы можете увидеть такое предупреждение:

> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
> Are you sure you want to continue connecting (yes/no)?

или такое:

> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
> Are you sure you want to continue connecting (yes/no)?

Убедитесь, что отпечаток (fingerprint) в сообщении, который вы видите, совпадает с одним из сообщений на шаге 2, затем введите yes:

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

Убедитесь, что полученное сообщение содержит ваше имя пользователя. Конечно, вы можете получить сообщение «разрешение отклонено», но об этом мы поговорим в следующих статьях.

Статьи #