Git — Permission denied (publickey)

Только что столкнулся с проблемой при работе с git. Я создал на своей рабочей машине локальный репозиторий git. После этого создал удаленный репозиторий на github.com. Добавил удаленный репозиторий с помощью команды:

git remote add origin git@github.com:myUserName/reponame.git.

После инициализирующего коммита попытался запушить свой код на github.

git commit -m "Initial Commit".

В результате получил следующую ошибку: Permission denied (publickey). Погуглив данную тему мне удалось решить ее.

Проблема в следующем, для доступа необходим ключ ssh.

Итак, на рабочей машине установлена система Ubuntu 14.04.  Мои действия были следующими:

  1. Проверка уже существующих ключей.
  2. Генерация нового ключа и добавление его в ssh-agent.
  3. Добавление нового ключа в github аакаунт.
  4. Проверка соединения.

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

ls -al ~/.ssh

# Lists the files in your .ssh directory, if they exist

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

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

# Creates a new ssh key, using the provided email as a label

Generating public/private rsa key pair.

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

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

После этого необходимо ввести секретную фразу.

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

Enter same passphrase again: [Type passphrase again]

По умолчанию файл с ключем будет создан в папке /home/.ssh под именем id_rsa.pub.

После этого его можно открыть с помощью текстового редактора, скопировать и добавить в Ваш профиль на github.com.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *