git push heroku master разрешение отказано
Я следую за Рубином.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". Какие-нибудь решения?
7 ответов:
лучший способ избежать таких ошибок-использовать одну пару открытых / закрытых ключей, а не дополнительный ключ для heroku. Таким образом, вы (или ваша система) не можете выбрать неправильный ключ для входа в heroku.
Если вы получаете эту ошибку, вы сделали что-то неправильно. Проверьте этот сайт: https://devcenter.heroku.com/articles/keys
Если вы geht эту ошибку, лучший способ, чтобы удалить ненужные ключи и использовать только один.
Если вам нужно больше, чем одна пара ключ на вашем системы, вы можете установить один ключ для Heroku. Это делается с помощью следующей команды:
heroku keys:add
некоторые справки для пользователей Windows 7 с установленным клиентом GitHub Windows:
несмотря на то, что heroku toolbelt сообщает, что он нашел мой открытый ключ git_hub и загрузил его, "git push heroku master" не удалось. После выполнения описанных ниже действий он отлично работает.
создать .папка ssh в папке пользователя, если она не существует. Если он делает, удаляет все файлы в нем (это предполагает, что вы в порядке, начиная с нуля с помощью ключей ssh).
In Проводник Windows, щелкните правой кнопкой мыши на .папка ssh и выберите Git bash из контекстного меню. Это устанавливается вместе с клиентским программным обеспечением GitHub Windows.
в окне bash введите
ssh-keygen -t rsa -C "[email protected]" при появлении запроса введите a парольная фраза (Не потеряйте это).закройте окно оболочки bash.
в командной строке в корне проекта введите
heroku keys:add. Это позволит найти и загрузить ключ, который вы только что создали с вашим /.тсс файл В Heroku.Теперь вы можете ввести
git push heroku masterчтобы подтолкнуть вас приложение на Heroku. Примечание: вам нужно будет добавить свой новый открытый ключ ssh в свою учетную запись Github, когда это будет сделано.
я столкнулся с той же проблемой. В моем.папка ssh у меня был файл под названием "известные хосты". Я продолжал пытаться удалить и создать новые ключи ssh, это не сработало. В конце концов, я просто удалил все .ssh, включая "известные хосты" , а затем создал новый ключ rsa, используя:
ssh-keygen -t rsaзатем я добавил этот новый ключ к heroku, используя:
heroku keys:addзатем создайте новый РЕПО heroku и подтолкнул мое приложение к нему:
heroku create git push heroku master
ssh-keygen -t rsaвыше не является обязательным, как вы могли бы также связать с существующим ключом. Heroku предложит выбрать ключ в следующем шаге.
heroku keys:addдобавьте новый или существующий ключ. Если вы все еще сталкиваетесь с этой проблемой, вам, скорее всего, нужно будет добавить ключ в список ключей ssh вашего компьютера, выполнив следующие действия:
ssh-add ~/.ssh/name_of_your_rsaи подтвердите, что ваш ssh был добавлен
ssh-add -lэто должно получить вам доступ, чтобы нажать на Дистанционное РЕПО Heroku.
на 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 keys:add, но это не помогло.
затем я нашел файл с именем config in ~/.ssh/, а внутри файла было:
ServerAliveInterval 300 ServerAliveCountMax 3 host heroku.com user git hostname heroku.com identityfile ~/.ssh/yourPrivateKeyпоэтому я изменил yourPrivateKey к моему имени файла закрытого ключа ( id_rsa по умолчанию) aaand это сработало :)
Я создал ключ с
ssh-keygen -t rsaи использовал другое имя файла, чем id_rsa (в моем случае heroku). Я добавил ключ к heroku с
heroku keys:addпри попытке подтолкнуть мою главную ветку к heroku я всегда получал следующую ошибку:
$ git push heroku master
Подлинность хоста 'heroku.com
(50.19.85.132) не может быть установлено. RSA ключ отпечатков пальцев является
8b: 48: 5e: 67:0e:c9:16:47:32:99:87:0c:1f:c8:60: bb. Вы уверены, что хотите
чтобы продолжить подключение (да/нет)? да предупреждение: постоянно добавляется
'heroku.com,50.19.85.132 '(RSA) к списку известных хостов. Разрешение
отказано (открытый ключ). фатальная ошибка: не удалось прочитать из удаленного репозитория.пожалуйста, убедитесь, что у вас есть соответствующие права доступа и хранилище существует.
как я заметил, git использовал только мой ключ id_rsa от другого ssh-access (вы можете проверить это через свой графический интерфейс git: Help -> SSH keys).
я переименовал мой .СШ каталог C:\Users\%username%.ssh до .тсс.бак и скопировал мой heroku закрытый и открытый ключ (от .тсс.бак каталог) к вновь созданному .ssh каталог и назвал его id_rsa (и id_rsa.паб.)
Теперь толчок работал, как ожидалось:
git push heroku master
Если вы работаете на Windows, обязательно используйте git-bash вместо Powershell / командной строки.
Если вы просто хотите сбросить ключи ssh:
- удалить пользователя .ssh dir
- открыть git-bash
- ssh-keygen-t rsa
- heroku ключи: добавить
и тогда вы сможете git push.
Comments