Permission denied (publickey) fatal: Не удалось прочитать из удаленного репозитория. при клонировании хранилища Git

Я не могу клонировать репозиторий Git и получаю эту ошибку:

[email protected] /c/Projects $ git clone http://stage.abc.com:10088/pqr
http://<url>/<repository> Cloning into '<repository>'... fatal: could not read Username for 'http://<url>': No such file or directory

Я прочитал Bitbucket, Windows и "фатальный: не смог прочитать пароль для" , но все еще есть проблема.

Я продолжил, но теперь получаю эту ошибку

sh.exe": chown: command not found

[email protected] /c
$ git clone ssh://[email protected]
/projects
Cloning into 'C:/projects'...
Permission denied (publickey).
fatal: Could not read from remote repository.

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

> [email protected] /c
>     $ git clone ssh:<url>
>     ts
>     Cloning into 'C:/projects'...
>     Permission denied (publickey).
>     fatal: Could not read from remote repository.

Please make sure you have the correct access rights

и репозиторий существует.

Ответ 1

Это похоже на проблему с разрешениями, а не на проблему с Windows 7.

Ваш ssh-ключ не авторизовался - Permission denied (publickey).

Вам нужно создать общедоступный ключ ssh и попросить администратора репозитория Git добавить открытый ssh ключ

Информация о том, как это сделать: Не удалось сохранить ssh-ключ

Ответ 2

Для людей, которые приходят сюда, которые просто пытаются получить репозиторий, но не заботятся о протоколе (ssh/https), вы можете просто хотеть использовать https вместо ssh (если это поддерживается).

Итак, например, вы используете

git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

вместо

git clone [email protected]:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

Ответ 3

Если после создания SSH по-прежнему возникает проблема, добавив его в свою учетную запись Bitbucket или где угодно, вам нужно сделать следующее на GitBash, OSX или Linux:

ssh-add -l

Затем, если вы не видите свой список, добавьте его с помощью

ssh-add ~/.ssh/identity

Это сработало для меня.

Ответ 4

Я столкнулся с той же проблемой с GitHub. Это легко решить.

  1. Сгенерируйте ключ SSH на вашем компьютере, как описано здесь: Генерация ключей SSH.
  2. Войдите в свой аккаунт GitHub: GitHub Login.
  3. В вашей учетной записи добавьте сгенерированный SSH-ключ: SSH-ключи моей учетной записи.
  4. Попробуйте еще раз git clone проекта.

Ответ 5

Я также столкнулся с той же проблемой. Я сделал следующее, и это сработало для меня:

  • Генерировать ключи от клиента GIT GUI в Windows. Скопируйте этот ключ в буфер обмена.
  • Откройте свою учетную запись на веб-сайте bitBucket/ GIT и добавьте этот ключ в свой профиль. Таким образом, сервер знает, что вы являетесь законным пользователем, получающим доступ из законной системы.
  • Что это. Все push команды работали для меня впредь.

Ответ 6

У меня была эта проблема на Mac - пока я правильно настроил SSH для доступа к моему репозиторию Git после перезапуска (и некоторое время, когда Mac находился в противостоянии), все мои учетные данные были удалены. По-видимому, по какой-то причине ключ pub был установлен в 644, что заставило его удалить из брелка. Для чтения:

  • chmod 600 открытый ключ
  • ssh-add ~/.ssh/[your private key] - это должно показать, что личность была добавлена. Ключевым файлом, который вы хотите, является тот, который не имеет расширения .pub.
  • ssh-add -l должен показать вам добавленную идентификацию

edit: очевидно, у MacOS есть тенденция к удалению ключей - после загрузки обновления High Sierra (но я еще не установил его) мой ключ был удален, и мне пришлось добавить его снова через ssh-add

Ответ 7

Github (или Bitbucket) не может найти ваш ssh-ключ на своем сервере.

Просто добавьте свой ключ в настройку своей учетной записи.

Ответ 8

Для меня, когда я захотел clone из моего репозитория, у меня было такое же сообщение, что и до того, как "Permission denied (publickey) фатальный: не удалось прочитать из удаленного репозитория". Решение для моего случая не использовать sudo до clone Что это.

Ответ 9

Я получил ошибку...

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

... когда я пытался связаться с приглашением Git Bash для Bitbucket после того, как мой ноутбук умер от плохого обновления Windows 10 и был возвращен в настройки factory. Я восстановил все мои файлы ssh из резервной копии.

Причиной ошибки оказалось несоответствие имени моей учетной записи Windows после восстановления компьютера. Я узнал, что файл открытого ключа id_rsa.pub заканчивается легко читаемой строкой, содержащей мое имя учетной записи Windows, за которой следует знак @, а затем имя компьютера.

Когда я изначально настроил свой компьютер, я создал свое имя учетной записи Windows, включая мой средний начальный, но когда мой компьютер был reset до factory, наш новый парень DevOps создал мое имя учетной записи без моего среднего начального значения.

Чтобы решить эту проблему, я просто отредактировал файл открытого ключа id_rsa.pub и удалил вначале начальный номер моего имени. Я застрял с тем же именем компьютера, так что все в порядке. Я скопировал содержимое файла в буфер обмена Windows. Затем я подписал контракт с Bitbucket, отправился в настройки Bitbucket под моим аватаром и добавил новый открытый ключ, в который я вставлял новое содержимое.

В приглашении Git Bash я подтвердил, что теперь он работает, введя команду...

ssh -T [email protected]

... и я получил сообщение, в котором я был.

Ответ 10

Если вы создаете новый открытый ключ ssh и вставляете его в битбакет или github и

это не помогло - попробуйте перезагрузить компьютер. Это помогло мне!

Ответ 11

Вам нужно создать новый ssh-ключ, запустив ssh-keygen -t rsa.

Ответ 12

Я столкнулся с такой же проблемой при запуске команды git clone из командной строки Windows. Но команда успешно выполняется с Git Bash.

Ответ 13

В macOS/Linux (Ubuntu):

1. Для аутентификации вам нужно добавить вашу публичную часть вашей пары ключей SSH в bitbucket из ваших пользовательских настроек: Настройки пользователя → Ключи SSH

Вы найдете указанную публичную часть в вашем каталоге ~/.ssh, обычно это id_rsa.pub. обратите внимание на .pub часть имени файла для Public. это поможет вам сгенерировать один, если у вас его еще нет

Вы еще не закончили...

2. Вам нужно сообщить вашей системе, какой ключ использовать с каким удаленным хостом, поэтому добавьте эти строки в ваш файл ~/.ssh/config.

Host bitbucket.org
 IdentityFile ~/.ssh/PRIVATE_KEY_FILE_NAME

Где PRIVATE_KEY_FILE_NAME - это имя частной части вашей пары ключей SSH, если вы не перепутали его, обычно его имя по умолчанию: id_rsa в этом случае замените PRIVATE_KEY_FILE_NAME выше на id_rsa (закрытый ключ НЕ имеет расширение .pub)

Ответ 14

Если все не удается, как и в случае со мной, удалите GIT, переустановите. По какой-то причине это исправление.

P.S.

  • Я пробовал создавать новые ключи и обновления на открытых ключах SSH
  • Также попытался удалить все ключи и попытался создать новый ключ.
  • И ничего, ничего плохого в моем .gitconfig

Ответ 15

Во время клонирования у меня была аналогичная проблема [моя ОШИБКА:  Разрешение отклонено (publickey).  fatal: Не удалось прочитать из удаленного репозитория.  Убедитесь, что у вас есть правильные права доступа.. и т.д. ]

- Я использовал bitBucket/UBUNTU14.04 в моем случае, но ALREADY имел набор файлов ключей, которые я ранее создал И я изменил имя файлов. Я просто COPIED файлы в стандартный формат id_rsa и id_rsa.pub. Затем я повторно запустил команду без проблем.

OBTW: я мог бы также использовать запрос пароля с помощью клонирования HTTP-стиля.

Ответ 16

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

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

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

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

Ответ 17

У меня была похожая проблема. Я изменил ключи SSH и перезапустил и попробовал все другие решения 'n'. Но реальная проблема для меня заключалась в том, что наш протокол gitlab по умолчанию был изменен с ssh на https.

проверьте удаленный URL с

git remote -v

изменить удаленный URL

git remote set-url origin https://URL

Ответ 18

У меня была аналогичная проблема с linux. Я решил проблему, войдя в сервер github и создав ключ развертывания. Это в настройках для репозитория. Затем я скопировал и вставил свой открытый ключ (который обычно находится в папке ~/.ssh/id_rsa.pub, но ваша конфигурация может отличаться). Существует флажок, чтобы предоставить доступ к этой записи. Нажмите на него (если вы не используете git только для развертывания, и в этом случае не нажимайте на него).

Ответ 19

если кого-то интересует здесь:

У меня была та же проблема, и я использовал ssh, а не https. как сказал @arjan

который не работал снова! однако, я отсутствовал git add . поэтому, чтобы показать все:

сначала убедитесь, что вы удалили любую предыдущую скрытую папку или файл .git: Я использую mac...

  rm -rf .git

затем выполните команды git:

git init
git add .
git commit -m "my new commit"
git remote remote add origin https://github.com/yourusername/yourrepo.git
git push -u origin master

просто убедитесь, что вы находитесь в той же папке локальной ветки, которую хотите нажать.

Ответ 20

У меня была такая же ошибка. Мое решение состояло в том, чтобы выйти из системы и войти снова, поскольку мой ssh-agent не синхронизирован с удаленным ключом ssh.

Добавление этого здесь на случай, если кто-то видел, что другие ответы, кажется, не относятся к их ситуации.

Ответ 21

Я столкнулся с той же проблемой при настройке ssh для gitlab. У меня уже есть ssh для github и я не могу перезаписать это. Шаги, которые помогли мне:

  1. Сгенерируйте SSH с новым путем и добавьте его в список ssh-add/path/to/new/id_rsa.
  2. Создайте файл с именем config в ~/.ssh/ using. Я использовал vi ~/.ssh/config/.
  3. Добавьте это во вновь созданный файл

# GitLab.com server Host gitlab.com RSAAuthentication yes IdentityFile/path/to/new/id_rsa

  1. Сохранить и выйти.

После этого перезапустите терминал и попробуйте нажать, он должен работать

Ответ 22

Если вы хотите клонировать проекты с открытым исходным кодом для отправки запроса на извлечение:

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

Мое решение:

  1. Fork Repository

Fork Repo

  1. Затем клонируйте из вашего разветвленного хранилища. Clone from forked Repo

  2. Поработайте над своими функциями, а затем отправьте запрос на извлечение.

Ответ 23

исправить для инструмента hub Cli:

  • git config --global hub.protocol https на длительный срок
  • git remote add OOPS https://github.com/isomorphisms/go.git && git push OOPS для немедленного исправления

Эта ошибка возникает в средстве командной строки hub из-за неправильного значения по умолчанию hub.protocol git-config. Они устанавливают репо на

git://github.com/schacon/ticgit.git

вместо того, что на самом деле принимает github, а именно https://github.com/schacon/ticgit.git.


Чтение LESS=+/"HTTPS instead" man hub объяснит, откуда LESS=+/"HTTPS instead" man hub указанная выше команда "долгосрочного исправления".

Ответ 24

Это может быть глупо, но это случилось с нами:

Если вы используете bitbucket и Sourcetree, и вы просто скопируете вставку клона в новый диалог репо, он будет показывать ту же ошибку при нажатии или нажатии.

Перед URL-адресом убедитесь, что вы удалили материал git clone '.