Git отклонено разрешение мастера masterku
Я следую за ruby.railstutorial. Я запускаю команду "git push heroku master" и выплевывает эту ошибку.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Я вхожу в мое приложение rails "/Users/lexi87/rails_projects/first_app". Любые решения?
Ответы
Ответ 1
Лучший способ избежать таких ошибок - использовать одну пару открытых и закрытых ключей, а не дополнительный ключ для героку. Таким образом, вы (или ваша система) не можете выбрать неправильный ключ для входа в герою.
Если вы получите эту ошибку, вы сделали что-то не так. Проверьте этот сайт: https://devcenter.heroku.com/articles/keys
Если вы указали эту ошибку, лучший способ - удалить ненужные ключи и использовать только один.
Если вам нужна более одной пары ключей в вашей системе, вы можете установить один ключ для героку. Это делается с помощью следующей команды:
heroku keys:add
Ответ 2
Некоторая помощь пользователям Windows 7 с установленным клиентом Github Windows:
Даже несмотря на то, что рассказ о геройке рассказывает, что он нашел свой открытый ключ git_hub и загрузил его, "git push heroku master" не удалось. После выполнения следующих шагов, он работает нормально.
-
Создайте папку .ssh в папке пользователя, если она не существует. Если
он удаляет все файлы в нем (это предполагает, что все в порядке, начиная с нуля с помощью ssh-клавиш).
-
В проводнике Windows щелкните правой кнопкой мыши
.ssh и выберите Git bash в контекстном меню. Он устанавливается вместе с клиентским программным обеспечением Github Windows.
-
В окне bash введите
ssh-keygen -t rsa -C "[email protected]
"При появлении запроса введите
passphrase (не теряйте это).
-
Закройте окно оболочки bash.
-
В командной строке cmd вашего корня проекта введите heroku keys:add
.
Это найдет и загрузит ключ, который вы только что создали из вашего файла /.ssh, в
Heroku.
Теперь вы можете ввести git push heroku master
, чтобы подтолкнуть приложение к Heroku.
Примечание. При необходимости вам нужно будет добавить свой вновь открытый открытый ключ ssh в свою учетную запись Github.
Ответ 3
Я столкнулся с той же проблемой. В моей папке .ssh у меня был файл под названием "Известные хосты". Я продолжал пытаться удалить и создать новые ключи ssh, которые он не сработал. В итоге я просто удалил все в .ssh, включая "Известные хосты", а затем создал новый ключ rsa, используя:
ssh-keygen -t rsa
то я добавил этот новый ключ к герою, используя:
heroku keys:add
затем создайте новое repo gekuu и подтолкнули мое приложение к нему:
heroku create
git push heroku master
Ответ 4
ssh-keygen -t rsa
Выше является необязательным, поскольку вы также можете ссылаться на существующий ключ. Heroku предложит выбрать ключ на следующем шаге.
heroku keys:add
Добавьте свой вновь созданный ключ или существующий. Если вы все еще сталкиваетесь с проблемой, вам, скорее всего, нужно будет добавить ключ в свой список машин ssh, выполнив следующее:
ssh-add ~/.ssh/name_of_your_rsa
и подтвердите, что ваш ssh добавлен
ssh-add -l
Это позволит вам получить доступ к удаленному репозиторию Heroku.
Ответ 5
на OSX, у меня возникла одна и та же проблема, я получал
no such identity: /Users/me/.ssh/yourPrivateKey: No such file or directory
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Я попытался создать новый ключ с помощью ssh-keygen -t rsa, а затем добавить его с помощью ключей heroku: add, но это не помогло.
Затем я нашел файл с именем config в ~/.ssh/, а внутри файла:
ServerAliveInterval 300
ServerAliveCountMax 3
host heroku.com
user git
hostname heroku.com
identityfile ~/.ssh/yourPrivateKey
Итак, я поменял yourPrivateKey на мое имя файла закрытого ключа (по умолчанию id_rsa) aaand он работал:)
Ответ 6
Я создал ключ с
ssh-keygen -t rsa
и использовал другое имя файла, чем id_rsa (в моем случае heroku). Я добавил ключ к герою с помощью
heroku keys:add
При попытке нажать мою главную ветвь на герою я всегда получал следующую ошибку:
$git мастер героя push
Подлинность хоста "heroku.com
(50.19.85.132) 'не может быть установлена. Отпечаток ключа RSA - 8b: 48: 5e: 67: 0e: с9: 16: 47: 32: 99: 87: 0c: 1f: с8: 60: бб. Вы уверены, что хотите продолжить соединение (да/нет)? Да Предупреждение: постоянное добавление 'heroku.com, 50.19.85.132' (RSA) в список известных хостов. Разрешение
отрицается (публиковать). fatal: Не удалось прочитать из удаленного репозитория.
Пожалуйста, убедитесь, что у вас есть правильные права доступа и репозиторий существует.
Как я заметил, git использовал только мой ключ id_rsa из другого ssh-access (вы можете проверить это с помощью git gui: Help → SSH-ключей).
Я переименовал свой .ssh-каталог C:\Users\%username%.ssh в .ssh.bak и скопировал личный и открытый ключ mykkku (из каталога .ssh.bak) во вновь созданный каталог .ssh и назвал it id_rsa (и id_rsa.pub).
Теперь нажатие работает как ожидалось:
git push heroku master
Ответ 7
Если вы работаете с Windows, обязательно используйте git - bash вместо Powershell/Command Prompt.
Если вы просто хотите reset ваши ssh-ключи:
- удалите пользователя .ssh dir
- открыть git - bash
- ssh-keygen -t rsa
- ключи героя: добавьте
а затем вы сможете git нажать.