Ответ 1
Ваш git URL мог измениться. Измените URL-адрес в локальном каталоге с помощью следующей команды
git remote set-url origin [email protected]
Я использую 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 работал правильно?
Ваш git URL мог измениться. Измените URL-адрес в локальном каталоге с помощью следующей команды
git remote set-url origin [email protected]
Эта проблема может возникнуть с вашим 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.
Для меня это было из-за отсутствия ключа SSH на машине. Проверьте ключ SSH локально:
$ cat ~/.ssh/id_rsa.pub
Это ваш SSH-ключ. Добавьте его в свои SSH-ключи в репозитории.
В gitlab перейдите к
Настройки профиля → Клавиши SSH
и добавьте ключ
Попробуйте использовать HTTPS вместо SSH, беря клон из GIT, используйте этот URL для получения клона, вы можете использовать Gitbase, Android Studio или любой другой инструмент для клонирования ветки.
Вы пытаетесь клонировать репозиторий через ssh: [email protected]
, и ваши SSH-ключи неправильно установлены на сервере. Для этого есть несколько причин:
Если все 3 выше неверны, то мой единственный вывод может состоять в том, чтобы попытаться:
[email protected]:AlfaRobot.git
Предполагая, что AlfaRobot.git находится в HOMEDIR пользователя git, а не внутри папки с именем git, которая находится в HOMEDIR пользователя git.
Rsa.pub (то есть сгенерированный открытый ключ) необходимо добавить на страницу github >> settings >> ssh keys. Убедитесь, что вы не добавили этот открытый ключ в параметры хранилища >> ключи развертывания. Если так, удалите запись отсюда и добавьте к первому упомянутому месту.
Настройка паб-приватных ключей подробно.
Это будет работать, следовательно!
Вот как я решаю эту проблему. Я использовал Babun (mintty.exe) на Win7/10. Когда я попробовал много решений, упомянутых выше, и никто из них не работает. Я понял, может быть, я просто использовал неправильный агент ssh...
Поэтому я запускаю echo $GIT_SSH
, чтобы узнать, он показывает путь к Plink.exe
.
Я действительно ожидал OpenSSH.
Итак, я добавляю следующий однострочный файл ~/.zshrc
Примечание 1: Вы можете выполнить его непосредственно в бабуне также
Примечание 2. Если вы используете bash, тогда файл конфигурации.bashrc
export GIT_SSH=$(which ssh)
И он работает!
добавьте эти строки в ваш файл .get/config
(спасибо @kovshenin answer Git Pull: Изменить аутентификацию):
[credential]
helper = wincred
Попробуйте https вместо ssh. Выберите вариант https на домашней странице проекта, на которой вы скопируете URL-адрес клонирования.
Первое, что вы можете подтвердить, - это подключение к Интернету. Хотя, интернет-проблемы в основном скажут, что репо невозможно получить доступ.
Убедитесь, что вы установили ssh как локально, так и на свой github. Посмотрите, как
Убедитесь, что вы используете пульт ssh git. Если вы клонировали https, просто установите url в url ssh, с помощью этой команды git remote set-url origin [email protected]:your-username/your-repo-name.git
Если вы правильно настроили ssh, но он просто перестает работать, выполните следующие действия:
eval "$(ssh-agent -s)"
ssh-add
Если у вас все еще есть проблема, убедитесь, что вы не удалили ssh из своего github. В случае, когда ssh был удален из github, вы можете добавить его обратно. Используйте pbcopy < ~/.ssh/id_rsa.pub
чтобы скопировать ключ ssh, а затем перейдите к настройке github ssh и добавьте его.
Я порекомендую вам всегда использовать ssh. Для большинства команд, с которыми я работал, вы не можете получить доступ к репо (которые в основном закрыты), за исключением использования ssh. Для новичков это может показаться сложнее, но позже вы найдете его более простым и надежным.
Это также может произойти, если вы подключаетесь к своему git-репозиторию через VPN. Убедитесь, что вы подключены к VPN, которая используется для доступа к ресурсам вашей организации.
У меня была эта проблема, и я обнаружил, что моя система была с неправильным адресом DNS. Проверьте свою сеть и протестируйте с
ssh -vvv [email protected]
И читать выходные сообщения. Если вы видите "Вы можете использовать git или hg для подключения к Bitbucket". , все отлично.
Я сталкивался с этой ошибкой при загрузке проекта в 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: это имя ветки, которую я хочу нажать при инициализации
Github теперь использует схему URL
git remote set-url origin https://github.com/username/repository.git
Альтернативной проблемой может быть ваше подключение к Интернету. Очевидно, может быть, но мне потребовалось несколько минут, чтобы выяснить, что мой Wi-Fi отключен:)
Как и другие ответы, использовать https
вместо ssh
было решением.
Я публикую ответ, чтобы привести конкретный пример возможного решения. Я решил эту проблему с помощью bitbucket, когда я изменил удаленный URL-адрес на HTTPS с помощью этой командной строки:
git remote set-url origin <bitbucket_URL>
После этого я могу отправить содержимое в хранилище с помощью этой команды:
git push -u origin --all
И тогда я мог бы также использовать Sourcetree
Странно, я только получил эту ошибку в 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
После чего позвольте мне снова получить доступ к репо без проблем.
используйте ваш источник https вместо ssh url
пример:
git remote add origin https://gitlab.com/user/folder.git
Я пользуюсь 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
на самом первом шаге, тогда все будет в порядке.
Добавление ключа SSH работал для меня. Вы можете создать ключ ssh с помощью команды ssh-keygen на Mac. Вы должны увидеть меню "Развернуть ключи" в "YourRepository"> "Настройки", не забудьте установить флажок "Разрешить запись".
Очень распространенная ошибка была сделана мной. Я скопировал с помощью команды clip xclip -sel clip < ~/.ssh/id_rsa.pub
, но во время вставки в поле ввода ключа github я удалил последнюю новую строку, используя backspace, что фактически изменило открытый ключ.
Поэтому всегда копируйте & вставьте открытый ключ ssh без удаления последней новой строки.