Git использует неправильный адрес электронной почты при разговоре с Heroku

git клон [email protected]:myapp.git

Результат: «myoldemailaddress не авторизован для доступа к моему приложению»

myoldemailaddress был адресом электронной почты, который я использовал в старой учетной записи heroku, но, похоже, он застрял на нем, я могу использовать свой новый.

Я удалил каталог .heroku и восстановил его, у него правильное имя пользователя и пароль, я вижу список своих приложений. Я загрузил свой ключ (сейчас я регенерировал свой несколько раз) ssh-keygen -t rsa -C мой новый адрес

Я удалил и переустановил heroku для другого пользователя на той же машине, все работает нормально.

Что-то в моей учетной записи содержит мой старый адрес, но я не могу понять, где.


person David    schedule 04.06.2010    source источник
comment
Вы пытались удалить .ssh или .git? Делайте резервные копии перед попыткой.   -  person ponzao    schedule 10.06.2010
comment
Как выглядит ваш ~/.ssh/config?   -  person wilhelmtell    schedule 17.02.2011


Ответы (10)


Если вам все еще нужен ответ на этот вопрос, проблема в том, что у вас, вероятно, в вашем ssh-агенте загружен старый ключ ssh.

Чтобы проверить загруженные в данный момент ключи, используйте следующую команду:

ssh-add -L

Сначала удалите этот ключ из агента с помощью (помните sudo):

sudo ssh-add -d

Затем добавьте новый ключ (с вашим новым адресом электронной почты) с помощью

ssh-add /path/to/your/private/key/file

Это должно решить проблему.

person Juan    schedule 22.02.2011
comment
Я думал, что это не относится ко мне, потому что был загружен правильный ключ, но его удаление и повторная загрузка исправили это. - person pupeno; 12.08.2011
comment
В качестве примечания к этому, если вы хотите удалить ВСЕ свои ключи, выполните ssh-add -D (с заглавной буквы D). - person jakeboxer; 10.10.2011
comment
Еще одно замечание: для вызова ssh-add -d мне нужно было запустить ssh-add -d <filename>, где filename было чем-то вроде ~/.ssh/my_other_key. - person Anthony Panozzo; 05.02.2013

Я решил ту же проблему со следующими шагами:

  1. удалил приложение на хероку

  2. сгенерированы новые ключи с

ssh-keygen -t rsa -C myNewEmail

  1. загрузил новые ключи с

ключи героку: добавить

  1. воссоздал и отправил приложение

некоторые шаги могут быть необязательными (например, удаление приложения), но это сработало!

E/

person mekdigital    schedule 20.12.2010

У меня была такая же проблема - и перезагрузка моего компьютера устранила ее.

person Russell    schedule 14.06.2010

Ваш myoldemailaddress все еще указан как ваш пользователь в вашем глобальном файле gitconfig?

[user]
name = David
email = myoldemailaddress@...

Я не уверен, использует ли Heroku это вообще, но это следующее место, которое я бы посмотрел.

person theIV    schedule 04.06.2010

Вы можете добавить «myoldemailaddress» в качестве соавтора в своем приложении heroku.

person Luke    schedule 30.06.2010

В моем случае проблема заключалась в том, что у меня было два пользователя на heroku, pupeno@home и pupeno@work. Мои личные ключи были введены обоим пользователям, поэтому, когда я работал над личным проектом, я получал:

$ git push heroku master

 !  pupeno@work not authorized to access home-project

fatal: The remote end hung up unexpectedly

Удаление и повторное добавление ключа, как объяснил Хуан, сработало, но только до перезагрузки моего компьютера. Удаление ключа у рабочего пользователя окончательно это исправило. я сделал это с

heroku keys:remove pupeno@home

на моей рабочей машине. Не уверен, как это сделать для старого пользователя. Я полагаю, удалив ~/.heroku/credentials, затем запустив команду heroku и войдя в систему под старым пользователем.

person pupeno    schedule 23.08.2011

Есть ли в корне вашего проекта папка .git? Если это так, проверьте файл конфигурации там. В конфигурации на уровне проекта может быть установлен ваш старый адрес электронной почты, который имеет приоритет над вашими глобальными настройками.

person Shauna    schedule 17.02.2011

Загляните внутрь .git/config, который переопределяет ваш глобальный файл ~/.gitconfig.

person Guillermo Garza    schedule 22.02.2011

Вы также можете попробовать создать новую ветку из источника, а затем повторно применить все свои изменения к этой новой ветке. Каким-то образом это сработало для меня. Может быть, Git хранит электронную почту пользователя где-то в вашем локальном репо? Моя проблема заключалась в том, что, хотя я везде изменил свой адрес электронной почты и обновил свои ключи, он все равно не изменился на новый адрес электронной почты.

person pypmannetjies    schedule 12.06.2013

Этот плагин https://github.com/heroku/heroku-accounts отлично сработал. Он застрял в моей рабочей учетной записи Heroku, и я использовал ее, чтобы добавить свою личную учетную запись и переключиться на нее. Очень прост в использовании и предлагает простой способ переключения между учетными записями.

С помощью терминала установить: heroku plugins:install heroku-accounts

Добавить аккаунт: heroku accounts:add personal

Затем вам будет предложено ввести адрес электронной почты и пароль heroku.

Чтобы переключиться на этот аккаунт: heroku accounts:set personal

Список учетных записей: heroku accounts

Чтобы найти текущий счет: heroku accounts:current

person Ryan Brown    schedule 28.07.2017