Ответ 1
У меня была аналогичная проблема, и моя проблема была решена путем запуска следующей команды для добавления моего ключа в список известных ключей:
ssh-add ~/.ssh/id_rsa
Надеюсь, он тоже решает вас.;)
У меня есть следующая проблема:
$ 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 здесь.
У меня была аналогичная проблема, и моя проблема была решена путем запуска следующей команды для добавления моего ключа в список известных ключей:
ssh-add ~/.ssh/id_rsa
Надеюсь, он тоже решает вас.;)
Если вы еще не прочитали его, вы должны просмотреть страницу справки GitHub для этой ошибки:
Ошибка: Permission denied (publickey)
Каждый раз, когда у меня была эта проблема, это было связано с последней проблемой, указанной на этой странице: у меня не было открытого ключа с моей текущей рабочей станции, подключенного к моей учетной записи GitHub. Конечно, GitHub также предоставляет инструкции по как подключить ваш открытый ключ к вашей учетной записи.
TL;DR
Убедитесь, что ваш текущий открытый ключ подключен к вашей учетной записи GitHub.
Вам нужно сделать в своей консоли (если вы используете клиент-шпилька 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 локально.
Я не думаю, что это решит вашу проблему, так как вы протестировали 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
, и агент выключается, когда оболочка завершает работу.
Я столкнулся с той же проблемой на своем Ubuntu, а затем понял, что я нахожусь в режиме sudo
, как только я просто получаю доступ к remote
без sudo
, все прошло хорошо.
Как я избавлюсь, если проблема, надеюсь, это может помочь.
Запрещен отказ (открытый ключ). Сегодня я столкнулся с этой проблемой, но наконец нашел решение и успешно решил свою проблему.
Возможно, вы должны проверить следующие проблемы:
ssh -V [email protected]