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. Это легко решить.
- Сгенерируйте ключ SSH на вашем компьютере, как описано здесь: Генерация ключей SSH.
- Войдите в свой аккаунт GitHub: GitHub Login.
- В вашей учетной записи добавьте сгенерированный SSH-ключ: SSH-ключи моей учетной записи.
- Попробуйте еще раз
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
и я не могу перезаписать это. Шаги, которые помогли мне:
- Сгенерируйте SSH с новым путем и добавьте его в список
ssh-add/path/to/new/id_rsa
. - Создайте файл с именем
config
в ~/.ssh/
using. Я использовал vi ~/.ssh/config/
. - Добавьте это во вновь созданный файл
# GitLab.com server Host gitlab.com RSAAuthentication yes IdentityFile/path/to/new/id_rsa
- Сохранить и выйти.
После этого перезапустите терминал и попробуйте нажать, он должен работать
Ответ 22
Если вы хотите клонировать проекты с открытым исходным кодом для отправки запроса на извлечение:
Я хотел клонировать проект с открытым исходным кодом, чтобы я мог отправить несколько запросов на извлечение. Проблема была в том, что у меня не было разрешений от владельца проекта. Неважно, так как мое намерение состояло в том, чтобы представить PR, вот жизнеспособная альтернатива:
Мое решение:
- Fork Repository
![Fork Repo]()
-
Затем клонируйте из вашего разветвленного хранилища. ![Clone from forked Repo]()
-
Поработайте над своими функциями, а затем отправьте запрос на извлечение.
Ответ 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 '.