Git error: "Убедитесь, что у вас есть правильные права доступа и существует хранилище"

Я использую TortoiseGit на Windows. Когда я пытаюсь клонировать из контекстного меню стандартного проводника Windows, я получаю эту ошибку:

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

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

git.exe clone --progress -v "git @arobotdev:\git\AlfaRobot.git" "C:\Work\AlfaRobot"

Клонирование в 'C:\Work\AlfaRobot'...
В доступе отказано, пожалуйста, попробуйте еще раз.
В доступе отказано, пожалуйста, попробуйте еще раз.
В доступе отказано (публичный ключ, пароль).
Неустранимый: Не удалось прочитать из удаленного хранилища.

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

git не вышел из программы (код выхода 128) (21450 ms @19.09.2014 10:36:58)

Что я должен сделать, чтобы git работал правильно?

Ответы

Ответ 1

Ваш git URL мог измениться. Измените URL-адрес в локальном каталоге с помощью следующей команды

git remote set-url origin [email protected]

Ответ 2

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

  • $eval "$ (ssh-agent -s)"

    Агент pid 5867

  • $ssh-add

    Введите кодовую фразу для /home/you/.ssh/id_rsa: [] Добавлена ​​идентификация:/home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)

тогда он будет работать... Jers.

Ответ 3

Для меня это было из-за отсутствия ключа SSH на машине. Проверьте ключ SSH локально:

$ cat ~/.ssh/id_rsa.pub

Это ваш SSH-ключ. Добавьте его в свои SSH-ключи в репозитории.
В gitlab перейдите к

Настройки профиля → Клавиши SSH

и добавьте ключ

Ответ 4

Попробуйте использовать HTTPS вместо SSH, беря клон из GIT, используйте этот URL для получения клона, вы можете использовать Gitbase, Android Studio или любой другой инструмент для клонирования ветки. enter image description here

Ответ 5

Вы пытаетесь клонировать репозиторий через ssh: [email protected], и ваши SSH-ключи неправильно установлены на сервере. Для этого есть несколько причин:

  • Ваш открытый ключ не может быть сохранен в файле authorized_keys пользователя git
  • Если 1 неверно, ваш закрытый ключ не сохраняется в .ssh/папке вашего HOMEDIR.
  • Разрешения не установлены должным образом

Если все 3 выше неверны, то мой единственный вывод может состоять в том, чтобы попытаться: [email protected]:AlfaRobot.git Предполагая, что AlfaRobot.git находится в HOMEDIR пользователя git, а не внутри папки с именем git, которая находится в HOMEDIR пользователя git.

Ответ 6

Rsa.pub (то есть сгенерированный открытый ключ) необходимо добавить на страницу github >> settings >> ssh keys. Убедитесь, что вы не добавили этот открытый ключ в параметры хранилища >> ключи развертывания. Если так, удалите запись отсюда и добавьте к первому упомянутому месту.

Настройка паб-приватных ключей подробно.

Это будет работать, следовательно!

Ответ 7

Вот как я решаю эту проблему. Я использовал Babun (mintty.exe) на Win7/10. Когда я попробовал много решений, упомянутых выше, и никто из них не работает. Я понял, может быть, я просто использовал неправильный агент ssh... Поэтому я запускаю echo $GIT_SSH, чтобы узнать, он показывает путь к Plink.exe. Я действительно ожидал OpenSSH.

Итак, я добавляю следующий однострочный файл ~/.zshrc

Примечание 1: Вы можете выполнить его непосредственно в бабуне также
Примечание 2. Если вы используете bash, тогда файл конфигурации .bashrc

export GIT_SSH=$(which ssh)

И он работает!

Ответ 9

Попробуйте https вместо ssh. Выберите вариант https на домашней странице проекта, на которой вы скопируете URL-адрес клонирования.

Ответ 10

  1. Первое, что вы можете подтвердить, - это подключение к Интернету. Хотя, интернет-проблемы в основном скажут, что репо невозможно получить доступ.

  2. Убедитесь, что вы установили ssh как локально, так и на свой github. Посмотрите, как

  3. Убедитесь, что вы используете пульт ssh git. Если вы клонировали https, просто установите url в url ssh, с помощью этой команды git remote set-url origin [email protected]:your-username/your-repo-name.git

  4. Если вы правильно настроили ssh, но он просто перестает работать, выполните следующие действия:

    • eval "$(ssh-agent -s)"
    • ssh-add

    Если у вас все еще есть проблема, убедитесь, что вы не удалили ssh из своего github. В случае, когда ssh был удален из github, вы можете добавить его обратно. Используйте pbcopy < ~/.ssh/id_rsa.pub чтобы скопировать ключ ssh, а затем перейдите к настройке github ssh и добавьте его.

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

Ответ 11

Это также может произойти, если вы подключаетесь к своему git-репозиторию через VPN. Убедитесь, что вы подключены к VPN, которая используется для доступа к ресурсам вашей организации.

Ответ 12

У меня была эта проблема, и я обнаружил, что моя система была с неправильным адресом DNS. Проверьте свою сеть и протестируйте с

ssh -vvv [email protected]

И читать выходные сообщения. Если вы видите "Вы можете использовать git или hg для подключения к Bitbucket". , все отлично.

Ответ 13

Я сталкивался с этой ошибкой при загрузке проекта в gitlab. Я не клонировал из Git, а вместо этого загрузить проект. Для отправки вашего кода в gitlab у вас есть два способа: ssh или https. Если вы используете https, вы должны ввести имя пользователя и пароль учетной записи gitlab. Для отправки вашего кода в git вы можете использовать следующий.

Нажав на Git в первый раз

>$ cd
>$ mkdir .ssh;cd .ssh
>$ ssh-keygen -o -t rsa -b 4096 -C "[email protected]"

Параметр -C является необязательным, он предоставляет комментарий в конце вашего ключа, чтобы отличить его от других, если у вас есть несколько. Это создаст id_rsa (ваш закрытый ключ) и id_rsa.pub (ваш открытый ключ). Мы передаем наш открытый ключ и храним наш закрытый ключ - ну, в общем, приватный. Пользовательские настройки Gitlabs - это место, где вы затем добавляете свой открытый ключ в свою учетную запись, что позволяет нам, наконец, нажать кнопку.

В вашем проекте (каталог) используйте команду ниже

git init

Преобразует текущий каталог в Git-репозиторий. Это добавляет подкаталог .git к текущему каталогу и позволяет начать запись ревизий проекта.

Нажмите, используя https путь

git push --set-upstream https://gitlab.com/Account_User_Name/Your_Project_Name.git master

Push Используя SSH путь

git push --set-upstream [email protected]:Account_User_Name/Your_project_Name.git master

- set-upstream: указывает git путь к источнику. Если Git ранее выдвинул вашу текущую ветку, он запомнит, где находится origin

master: это имя ветки, которую я хочу нажать при инициализации

Ответ 14

Github теперь использует схему URL

git remote set-url origin https://github.com/username/repository.git

Ответ 15

Альтернативной проблемой может быть ваше подключение к Интернету. Очевидно, может быть, но мне потребовалось несколько минут, чтобы выяснить, что мой Wi-Fi отключен:)

Ответ 16

Как и другие ответы, использовать https вместо ssh было решением.

Я публикую ответ, чтобы привести конкретный пример возможного решения. Я решил эту проблему с помощью bitbucket, когда я изменил удаленный URL-адрес на HTTPS с помощью этой командной строки:

git remote set-url origin <bitbucket_URL>

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

git push -u origin --all

И тогда я мог бы также использовать Sourcetree

Ответ 17

Странно, я только получил эту ошибку в 1 из моих многочисленных репозиториев.

Моя проблема была после установки нового GitHub Desktop для Windows, где предыдущий старый GitHub для Win хранил ключи в ~/.ssh/github_rsa и ~/.ssh/github_rsa.pub где новый GitHub для Win ожидает их в ~/.ssh/id_rsa поэтому решением было просто переименовать существующие закрытый и открытый ключи:

~/.ssh/github_rsa -> ~/.ssh/id_rsa
~/.ssh/github_rsa.pub -> ~/.ssh/id_rsa.pub

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

Ответ 18

используйте ваш источник https вместо ssh url

пример:

git remote add origin  https://gitlab.com/user/folder.git

Ответ 19

Я пользуюсь Ubuntu

после прочтения многих ответов ни один из них не может решить проблему, даже если я уже добавил ключ SSH в свою учетную запись git и попытался протестировать его, используя ssh -T [email protected] и там было ssh -T [email protected] Welcome <my username>, но он все еще говорил мне, что у меня нет прав доступа. Тогда я нашел причину:

Обычно, если вы не пользователь root, вам потребуется запускать с sudo для каждой команды git.

при запуске sudo git clone <SSH....> (например). он будет выполнен с root, но случайно при создании ключа SSH я запускаю его как обычный пользователь и сохраняю ключ в ~/.ssh/id_rsa, он разрешает абсолютный путь /home/username/.ssh/id_rsa. И при выполнении sudo git clone... он ищет ключ SSH в /root/.ssh/id_rsa

Почему я могу быть уверен в этом. Чтобы увидеть, где git ищет ваш SSH-ключ. Выполните эту команду: sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>. Он покажет вам, где он ищет ваш ключ SSH.

Итак, РЕШЕНИЕ, которое я предлагаю:

Пересоздав свой ключ SSH (следуйте этой инструкции), НО запустите sudo su на самом первом шаге, тогда все будет в порядке.

Ответ 20

Добавление ключа SSH работал для меня. Вы можете создать ключ ssh с помощью команды ssh-keygen на Mac. Вы должны увидеть меню "Развернуть ключи" в "YourRepository"> "Настройки", не забудьте установить флажок "Разрешить запись".

снимок экрана меню ключей развертывания

Ответ 21

Очень распространенная ошибка была сделана мной. Я скопировал с помощью команды clip xclip -sel clip < ~/.ssh/id_rsa.pub, но во время вставки в поле ввода ключа github я удалил последнюю новую строку, используя backspace, что фактически изменило открытый ключ.

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