Невозможно нажать на хранилище git - отклонено разрешение

У меня есть следующая проблема:

$ git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Я уже проверил соединение:

$ ssh -vT [email protected]

и вывод выглядит хорошо, я был правильно аутентифицирован.

Проверяя далее, я заметил, что:

$ ssh-add -l
The agent has no identities.

Я попытался запустить ssh-agent, но ничего не изменилось:

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-A1mhFqvqncuO/agent.766; export SSH_AUTH_SOCK;
SSH_AGENT_PID=767; export SSH_AGENT_PID;
echo Agent pid 767;
$ ssh-add -l
Could not open a connection to your authentication agent.

Я использую Arch Linux. Любая помощь была бы высоко оценена! Спасибо заранее!

Диагностическая помощь Github здесь.

Ответ 1

У меня была аналогичная проблема, и моя проблема была решена путем запуска следующей команды для добавления моего ключа в список известных ключей:

ssh-add ~/.ssh/id_rsa

Надеюсь, он тоже решает вас.;)

Ответ 2

Если вы еще не прочитали его, вы должны просмотреть страницу справки GitHub для этой ошибки:

Ошибка: Permission denied (publickey)

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


TL;DR

Убедитесь, что ваш текущий открытый ключ подключен к вашей учетной записи GitHub.

Ответ 3

Вам нужно сделать в своей консоли (если вы используете клиент-шпилька ssh):

  • Сгенерировать ключи, если ключи не существуют:

    cd ~/.ssh && ssh-keygen -lf ~/.ssh/id_rsa.pub
    

Не забывайте пароль, введенный на этом шаге!

  • Выведите свой открытый ключ на экран:

    cd ~/.ssh && cat id_rsa.pub
    
  • Скопируйте эту строку щелчком и переместите указатель мыши с начала вывода на конец. Не нужно нажимать Ctrl + V или любые другие клавиши.

  • Войдите в свою учетную запись на GitHub и добавьте этот открытый ключ в https://github.com/settings/ssh

  • Теперь вы можете использовать свой git локально.

Ответ 4

Я не думаю, что это решит вашу проблему, так как вы протестировали ssh -vT [email protected] напрямую, и это сработало, но вы неправильно используете ssh-agent. Вам нужно запустить

$ eval `ssh-agent -s`
Agent pid 767
$ ssh-add -l
The agent has no identities.

Это будет оценивать команды экспорта среды и позволяет вашим командам ssh-add и ssh взаимодействовать с агентом. Кроме того, вы можете попросить агента запустить оболочку, терминал и т.д., И он настроит правильную среду:

$ ssh-agent bash
$ ssh-add -l
The agent has no identities.

В этом случае оболочка запускается как дочерний элемент ssh-agent, и агент выключается, когда оболочка завершает работу.

Ответ 5

Я столкнулся с той же проблемой на своем Ubuntu, а затем понял, что я нахожусь в режиме sudo, как только я просто получаю доступ к remote без sudo, все прошло хорошо.

Как я избавлюсь, если проблема, надеюсь, это может помочь.

Ответ 6

Запрещен отказ (открытый ключ). Сегодня я столкнулся с этой проблемой, но наконец нашел решение и успешно решил свою проблему.

Возможно, вы должны проверить следующие проблемы: