please make sure you have the correct access rights and the repository exists что делать
Подключение к Git по SSH в Windows без PuttyGen на примере BitBucket
Много статей (в том числе и на Хабре) посвящено подключению к Git по SSH-ключам. Почти во всех из них используется один из двух способов: либо с помощью puttygen.exe, либо командами ssh-keygen или ssh-add.
Вчера на одном из компьютеров у меня не получилось сделать это для msysgit ни одним из описанных в интернете способов, и я потратил несколько часов на попытки настроить SSH-доступ, так ни чего и не добившись.
Как я решил эту проблему — под катом.
BitBucket всё время ругался на то, что ему требуется подключение с помощью ключа:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Мои попытки сгенерировать ключи, указать пути в переменных среды, привязать ключи к гиту были бесполезны. Либо гит ругался крякозябрами (в случае ssh-agent cmd.exe), либо просто игнорировал всё предложенное.
Если вы столкнулись с такой проблемой, то скорее всего у вас там ни чего не будет:
Ну а дальше читать будут, скорее всего, только самые педантичные… Жмём Generate key, видим окно запроса пароля (два раза) для приватного ключа:
И видим сгенерировавшийся публичный ключ:
Копируем его, и добавляем вэб-морду ГИТа (в моём случае это BitBucket; ключи там можно добавить в двух местах — в настройках аккаунта и в настройках проекта, нам первый вариант, ибо второй — для деплоя проекта) [Аккаунт] — Управление аккаунтом — SSH-ключи — Добавить ключ:
Ну, а дальше — просто делаем что нужно — или пуш, или клон (предполагается, что git remote add вы уже сделали сами). Git спросит, можно ли добавить хост к доверенным, и запросит passphrase (пароль приватного ключа). Всё, можно работать.
PS: Большое спасибо за наводку на решение моему коллеге Ивану!
Git: fatal: не удалось прочитать из удаленного репозитория. Убедитесь, что у вас есть правильные права доступа и репозиторий существует
выход git remote-v
как я могу решить это?
8 ответов
Извините, что он не показывает то же имя
это означает, что каким-то образом учетные данные изменились.
одним из решений было бы, по крайней мере, скопировать %HOME%\.ssh\id_rsa.pub на раздел ключей SSH правой учетной записи GitHub
Я работаю над частным РЕПО. Так в git@github.com:username/repo.git,
если вы смогли клонировать / нажимать на это РЕПО, чье имя пользователя не является вашей собственной учетной записью GitHub, это должно быть потому, что у вас был предыдущий открытый ssh-ключ, добавленный владельцем РЕПО в качестве участника этого РЕПО.
что дальше, чтобы попросить того же владельца РЕПО добавить ваш текущий публичный ssh ключ %HOME%\.ssh\id_rsa.pub в список вкладчиков РЕПО.
Поэтому проверьте с владельцем, что вы (то есть ваш открытый ssh-ключ) объявлены как участник.
измените url ssh на url http для вашего удаленного «происхождения», используйте:
он запросит ваш пароль GitHub на git push.
иногда этого (копирование ssh-ключа pub в GitHub / bitbucket) недостаточно, особенно с Bitbucket. Вам также может потребоваться проверить, использует ли ваш ssh идентификатор, который вы ожидаете, а не возиться с git remote
иногда это случается со мной из-за сетевых проблем. Я не понимаю проблему полностью, но переключение на другую подсеть или использование VPN решает ее
Я тоже получил те же ошибки. В моем случае обновление с Windows 7 до 8 испортило Мои настройки. Что помогло, так это регенерировать частные и открытые SSH-ключи с помощью PuTTYGen и изменить инструмент SSH в tortoisegit с SSH на Plink.
эта ошибка произошла и со мной, так как исходный создатель репозитория покинул компанию, что означало, что их учетная запись была удалена из команды github.
и затем git pull origin develop или любая команда git, которую вы хотите выполнить, должна запросить у Вас логин и продолжить как обычно.
наконец, не забудьте добавить его в настройки github. Нажмите здесь для руководства о том, как добавить SSH KEY к вашей учетной записи github.
эта ошибка может быть из-за отсутствия SSH-ключа на вашем локальном компьютере. Проверьте ключ SSH локально:
Если выше команда не дает никаких выходных данных, используйте ниже команду для создания ssh-ключа (Linux / Mac):
Теперь снова запустите cat
/.ssh / id_rsa.паб это ваш ключ SSH. Скопируйте и добавьте этот ключ в свои SSH-ключи в Git. В gitlab / bitbucket перейдите в
Git error: «Please make sure you have the correct access rights and the repository exists»
I am using TortoiseGit on Windows. When I am trying to Clone from the context menu of the standard Windows Explorer, I get this error:
Please make sure you have the correct access rights and the repository exists
More precisely, the snapshot of terminal is the following:
Cloning into ‘C:\Work\AlfaRobot’.
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git did not exit cleanly (exit code 128) (21450 ms @ 19.09.2014 10:36:58)
26 Answers 26
Your git URL might have changed. Change the URL in the local directory by using the following command
for https protocol
for ssh protocol
there might be multiple causes for the issue
That problem might be having with your ssh-agent, your ssh key hasn’t been added with ssh-agent.You have to apply following steps using your terminal:-
Enter passphrase for /home/you/.ssh/id_rsa: [] Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
then it will work..cheers J.
For me it was because of no SSH key on the machine. Check the SSH key locally:
This is your SSH key. Add it to your SSH keys in the repository.
In gitlab go to
Github now uses a url scheme
git remote set-url origin https://github.com/username/repository.git
If it was working before and suddenly stopped working:
This issue can be caused because sometimes ssh-agent is not persistent across reboots. You should check if ssh-agent has your key added:
if you get the output like:
it means ssh-agent has lost your key. In that case, you simply need to add the identity key again. Something like:
The error should disappear now!
If you’re on a shared machine, using your own password or passwordless private key might be overkill. The safer option is an access token:
If you’ve already cloned the repo, you could just modify your remote setting:
If all 3 above are untrue then my only conclusion can be to try: git@arobotdev:AlfaRobot.git Assuming AlfaRobot.git is in HOMEDIR of git user and not inside a folder called git which resides in HOMEDIR of user git.
I had this problem, and i discover that my system was with wrong dns address. Verify your network and test with
The first thing you may want to confirm is the internet connection. Though, internet issues mostly will say that the repo cannot be accessed.
Ensure you have set up ssh both locally and on your github. See how
Ensure you are using the ssh git remote. If you had cloned the https, just set the url to the ssh url, with this git command git remote set-url origin git@github.com:your-username/your-repo-name.git
If you have set up ssh properly but it just stopped working, do the following:
If you are still having the issue, check to ensure that you have not deleted the ssh from your github. In a case where the ssh has been deleted from github, you can add it back. Use pbcopy to copy the ssh key and then go to your github ssh setting and add it.
I will recommend you always use ssh. For most teams I’ve worked with, you can’t access the repo (which are mostly private) except you use ssh. For a beginner, it may appear to be harder but later you’ll find it quite easier and more secured.
The rsa.pub (i.e. public key generated), needs to be added on the github>> settings>>ssh keys page. Check that, you have not added this public key in the repository-settings >> deployment keys. If so, remove the entry from here and add to the first place mentioned.
Setup of the pub-private keys in detail.
It will work hence!
Normally if you’re not root user, it will require you to run with sudo for every git command.
when running sudo git clone (for example). it will be executed under root permission, but accidentally when create SSH key I run it as normal user and I save the key in
So the SOLUTION I suggest is:
Re-creating your SSH key (follow this instruction), BUT run sudo su at the very first step, then you’ll should be fine.
I come across this error while uploading project to gitlab. I didn’t clone from git but instead upload project. For pushing your code to gitlab you have two ways either using ssh or https. If you use https you have to enter username and password of gitlab account. For pushing you code to git you can use following one.
Pushing to Git for the first time
In your project location(Directory) use below command
Push Using https path
Push Using ssh path
— set-upstream: tells git the path to origin. If Git has previously pushed on your current branch, it will remember where origin is
master: this is the name of the branch I want to push to when initializing
Git : fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists
How can I solve it?
19 Answers 19
change your ssh url by an http url for your remote ‘origin’, use:
It will ask for your GitHub password on the git push.
Sorry It not showing same name
That means somehow the credentials have changed.
One solution would be to at least copy %HOME%\.ssh\id_rsa.pub in the SSH keys section of the right GitHub account
I am working on private repo. So In git@github.com:username/repo.git,
If you were able to clone/push to that repo whose username is not your own GitHub account, that must be because you had your previous public ssh key added as a contributor to that repo by the repo’s owner.
What next is to ask that same repo owner to add your current public ssh key %HOME%\.ssh\id_rsa.pub to the repo contributor list.
So check with the owner that you (meaning your public ssh key) are declared as a contributor.
This usually happens when you use two ssh keys to access two different GitHub account.
Follow these steps to fix this it look too long but trust me it won’t take more than 5 minutes:
Step-1: Create two ssh key pairs:
Step-2: It will create two ssh keys here:
Step-3: Now we need to add these keys:
Step-4: Modify the ssh config
Step-5: Add this to config file:
Step-6.1: Navigate to account1’s project and update host:
If you are invited by some other user in their git Repository. Then you need to update the host like this:
Step-6.2: Navigate to account2’s project and update host:
Step-7: Update user name and email for each repository separately if required this is not an amendatory step:
Navigate to account1 project and run these:
Navigate to account2 project and run these:
Невозможно отправить в репозиторий Git на Bitbucket
Я создал новый репозиторий и столкнулся с странной ошибкой. Раньше я использовал Git на Bitbucket, но я только что переформатировал и теперь не могу заставить Git работать. После фиксации мне пришлось добавить свой адрес электронной почты и имя в глобальные переменные, но потом все было нормально.
Когда я пытаюсь использовать команду
это не работает. Я получаю это сообщение:
Я здесь в растерянности. Мой друг, с которым я делюсь этим репозиторием, получил к нему доступ и просто нажал на него, но я не могу заставить его работать.
Написание этого для тех, кто только начинает работать с Git и BitBucket в Windows и не так хорошо знаком с Bash (поскольку это и общая проблема, и высокий рейтинг Google при поиске сообщения об ошибке в вопросе).
Для тех, кто не возражает против HTTPS и кто ищет быстрое решение, прокрутите до конца этого ответа, чтобы получить инструкции в разделе ДЛЯ ЛЕНИВЫХ
Для тех, кто хочет решить настоящую проблему, следуйте приведенным ниже инструкциям:
Как можно быстрее устранить проблему с SSH
Это набор инструкций, полученных из URL-адреса, на который ссылается VonC. Он был изменен, чтобы сделать его максимально гибким и лаконичным.
Установите глобальную информацию, если вы еще этого не сделали:
Видите что-то подобное?
Посмотрите, сгенерировали ли вы уже ключи:
Если файлов два, следующий шаг можно пропустить.
Оставьте все по умолчанию, введите кодовую фразу. Теперь вы должны увидеть результаты с помощью этой команды:
Проверьте существующий файл конфигурации:
Если вы получили результат, проверьте этот файл на наличие ошибочной информации. Если файла нет, сделайте следующее:
Убедитесь, что вы запускаете агент SSH каждый раз при запуске GitBash:
Убедитесь, что файл был успешно создан (ваш файл должен отличаться только там, где появляется «yourusername»):
Если бы вы не ввели кодовую фразу, вы бы увидели что-то подобное при запуске GitBash:
И следующее должно вернуть результаты:
Если при запуске GitBash вы увидите следующее:
Убедитесь, что агент запущен и ваши ключи добавлены:
Должен вернуть что-то подобное:
Выполните следующую команду, чтобы получить свой открытый ключ:
Настройте свой закрытый ключ с помощью BitBucket, выполнив следующие действия:
Global Public Key Теперь вход должен быть виден в списке ключей.
Проверьте свои пульты:
Переключитесь на URL-адрес SSH:
Проверить, что все в рабочем состоянии:
Вы должны увидеть что-то вроде этого:
СДЕЛАННЫЙ!
Вы можете выбрать использование HTTPS вместо SSH. Вам потребуется ввести свой пароль во время удаленных операций (он временно кешируется после того, как вы введете его один раз). Вот как вы можете настроить HTTPS:
ДЛЯ ЛЕНИННЫХ
Командная строка для добавления источника, если он не существует:
Командная строка для изменения существующего источника:
ПРИМЕЧАНИЕ: имя вашей учетной записи не является вашим адресом электронной почты.
Вы также можете указать свою глобальную информацию:
Затем повторите попытку (повторная фиксация не требуется)
Переформатирование означает, что вы, вероятно, удалили свой открытый и закрытый ключи ssh (в
Вам необходимо регенерировать их и опубликовать свой открытый ключ ssh в своем профиле BitBucket, как описано в разделе « Использование протокола SSH с Bitbucket » после « Настройка SSH для Git с помощью GitBash ».
Учетные записи-> Управление учетными записями-> Ключи SSH:
Я решил это, удалив пульт с помощью команды:
а затем попытался добавить удаленный, используя https url вместо ssh
Он запрашивает учетные данные github. Введите учетные данные, а затем попробуйте нажать на git, используя:
Просто нужен файл конфигурации в каталоге
У меня такая же проблема. Мои ключи SSH были установлены правильно. Я исправил эту проблему вот так.
После создания нового проекта в Bitbucket используйте clone. Введите команду клонирования в терминале, и он должен клонировать пустой проект на ваш компьютер. После этого вы можете скопировать свои файлы в этот каталог и начать фиксацию и отправку в битбакет.
Два небольших уточнения, которые могут спасти кого-то от путаницы, через которую я прошел:
При подключении через https вы используете
однако при подключении через SSH имя учетной записи всегда «git»
Попытка подключиться к SSH с именем вашей учетной записи впереди приведет к ошибке, полученной исходным плакатом. Вот как вы можете выполнить тест, подключившись к git @, а затем по ошибке попробовать ввести свое имя пользователя и увидеть ошибку.
2. Использование ключей SSH для командных учетных записей будет прекращено в 2017 г.
Если вы настраиваете ключи SSH для групповых учетных записей, они рекомендуют переключить их на личные учетные записи. Полезный совет, чтобы избежать е
Если вы используете SourceTree (я использую 2.4.1), я нашел более простой способ сгенерировать ключ SSH и добавить его в свои настройки Bitbucket. Это решило проблему для меня.
Я получил электронное письмо от Bitbucket с подтверждением того, что в мою учетную запись был добавлен SSH-ключ.
Для справки: в macOS с помощью терминала вы можете использовать следующую команду, чтобы просмотреть ключи, созданные для вашего устройства. Здесь хранится сгенерированный вами ключ.
Как заявляли другие, эта документация мне помогла: используйте протокол SSH с Bitbucket Cloud
Выполните ssh, как в руководстве по Atlassian, и убедитесь, что закрытый ключ вставлен в профиль, а не в репозиторий 🙂
Слева нажмите на, SSH Keys затем добавьте тот, который у вас есть в вашей системе, в каталог
После того, как вы добавили свой локальный ключ в свою учетную запись на bitbucket, вы сможете начать взаимодействие с вашим репозиторием.
и удаление больших файлов изображений скриншотов (10 МБ +) из коммитов
Безопасность не была проблемой в конце концов, больше об ограничениях файлов bin
Эта ошибка также появляется, когда репозиторий не существует. Я пробовал все ответы, пока не увидел, что в названии репо отсутствует тире
[ошибка] доступ к репозиторию запрещен. доступ через ключ развертывания доступен только для чтения. фатальный: не удалось прочитать из удаленного репозитория. Убедитесь, что у вас есть правильные права доступа и репозиторий существует.
[ошибка] фатальный: не удалось прочитать из удаленного репозитория.
[ошибка] фатальный: невозможно найти удаленного помощника для https
Я решил выполнить следующие шаги:
Сначала установите эти зависимости:
Теперь соберите и установите Git в последней версии, в этом случае:
Затем для настройки:
И, наконец, установите так:
вот и все, теперь настройте ваше репо с https:
если вы настроили ключ ssh на удаленном сервере, вам необходимо его удалить.
Я получил эту ошибку
Подключение к bitbucket.org закрыто удаленным хостом. фатальный: не удалось прочитать из удаленного репозитория. Убедитесь, что у вас есть правильные права доступа.
Тогда я попробовал
работал без кавычек.
Я обнаружил, что командной строке git не нравятся ключи, сгенерированные моим конкурсом (Windows 10).
Я использую macOS, и хотя я установил свой открытый ключ в битбакете, в следующий раз, когда я попытался нажать, я получил
фатальный: не удалось прочитать из удаленного репозитория.
Убедитесь, что у вас есть правильные права доступа и репозиторий существует.
Что мне нужно было сделать, так это шаг 2. Добавьте ключ к ssh-agent, как описано в руководстве по настройке SSH-ключей Bitbucket и особенно на третьем шаге:
(только для macOS) Чтобы ваш компьютер запомнил ваш пароль при каждом перезапуске, откройте (или создайте) файл
Надеюсь, это поможет пользователю Mac с той же проблемой.
Вероятно, это вызвано наличием нескольких ключей SSH в агенте SSH (и / или BitBucket). Обратитесь к документации Atlassian для решения этой проблемы.
затем появляется Запрещенная ошибка при попытке получить репо. имеет смысл.
Я выгрузил ключ у агента
тогда я мог бы получить репозиторий.
. Позже я узнал, что могу заставить его использовать только указанную личность
Я не знал об этом последнем варианте IdentitiesOnly
из самой документации bitbucket
Вы также можете найти его, щелкнув изображение своего профиля и клавишу редактирования под ним в левой навигационной панели.
Скопируйте свой ключ в буфер обмена с помощью команды терминала: pbcopy
В поле Название укажите что-нибудь, что идентифицирует ваш компьютер, например MacBook Air YOUR_NAME.
Вы должны увидеть следующее сообщение:
Теперь, когда ваш локальный компьютер подключен к облаку, вы можете создать репо в Интернете или на своем локальном компьютере. Git изменил имя master для ветки main. При связывании репозиториев проще использовать ключ HTTPS, чем ключ SSH. Хотя вам нужен SSH для первоначальной привязки репозиториев, чтобы избежать ошибки в вопросе.