Несколько учетных записей герою

У меня возникают проблемы при работе с несколькими учетными записями Heroku на моем компьютере.

Дело в том, что он отлично работал раньше, переключая учетные записи с героем gem. Но теперь (хотя я создал новые ключи SSH) это не сработает.

Когда я делаю git push heroku master, он просто говорит:

[email protected] не авторизован для доступа к my_app_name

Есть ли у кого-нибудь советы о том, как я могу это решить?

Ответ 1

Вам нужно убедиться, что вы используете правильный ключ ssh.

Способ сделать это (и способ, которым плагин для аккаунтов heroku подскажет вам) - добавить раздел в ваш конфигурационный файл ssh в ~/.ssh/config. Например, для моей работы heroku account у меня есть это в моей конфигурации ssh:

Host heroku.work
  HostName heroku.com
  IdentityFile ~/.ssh/id_heroku_work_rsa
  IdentitiesOnly yes

Теперь, и это важно, вам нужно убедиться, что ваш git remote настроен на использование того же самого хоста с именем. В этом случае это heroku.work. Обычно это был бы heroku.com, если вы использовали герою только с одной учетной записью.

Итак, вам нужно отредактировать удаленный git (вы можете сделать это в файле .git/config вашего репо на вашем компьютере). Измените файл, чтобы он выглядел следующим образом:

 [remote "heroku"]
   url = [email protected]:<appname>.git

Обратите внимание на heroku. работа, а не heroku. com и замените <appname> с именем вашего приложения (также называемого вашим именем репо) на герою.

Ответ 3

Вы должны быть приняты в качестве соавтора в проекте, который у вас нет.

Он работает следующим образом (используя git):

  • Владелец проекта отправляется в консоль heroku для проекта
  • Владелец добавляет адрес электронной почты соавтора (тот, который использовался для регистрации соавтора).
  • Сотрудник устанавливает свой общедоступный ключ безопасности в своей учетной записи (если он этого еще не сделал)
  • Сотрудник добавляет и настраивает другой проект как еще один удаленный

И это должны быть все люди; вам просто нужно нажать на другой пульт при развертывании в другом приложении.

Ответ 4

Я бы добавил пару вещей в плагин heroku-accounts... этот пример предполагает, что ваша ранее существовавшая учетная запись heroku будет heroku.work, и вы добавляет новую учетную запись heroku.personal.

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

  • Вероятно, вам нужно использовать плагин, чтобы создать BOTH ваши старые и новые учетные записи, например, если вам нужно было начать с вас, вы не можете просто добавить новый героин. ваш старый
  • Вам нужно переназначить свои старые приложения на ваш heroku.work
  • Если вы перемещаете приложение, не назначайте приложение heroku.personal(используя heroku accounts:set personal) до тех пор, пока вы не перенесите приложение с помощью сообщения heroku sharing, как описано https://devcenter.heroku.com/articles/transferring-apps

Итак, вам понадобятся следующие шаги:

  • Установите плагин heroku-account
  • Перейдите на страницу heroku.com и создайте новую учетную запись (если у вас еще нет второй учетной записи)
  • запустите heroku accounts:add work --auto, чтобы создать новую учетную запись heroku.work, чтобы заменить старую учетную запись по умолчанию (поэтому используйте те же учетные данные, которые вы использовали все время). Вам также необходимо загрузить свой новый ключ в герою: heroku keys:add ~/.ssh/identity.heroku.work.pub
  • запустите heroku accounts:add personal --auto, чтобы создать новую учетную запись heroku.personal(например, используйте свои новые учетные данные для своей новой учетной записи heroku). Вам также необходимо загрузить свой новый ключ в герою: heroku keys:add ~/.ssh/identity.heroku.personal.pub
  • Для каждого приложения, cd для корня проекта, запустите heroku accounts:set work (все, что делает это setup git, чтобы использовать ваш heroku.work, который (в данном примере) тот же самый аккаунт heroku, который вы использовали все вдоль, только теперь это называется heroku.work.
  • Если вы хотите перенести приложение из heroku.work на heroku.personal, (a) добавьте новую учетную запись heroku в качестве соавтора с heroku sharing:add <new owner email> (b) в свой локальный каталог, переключите приложение на heroku.personal using heroku accounts:set personal (c) перенесите ** приложение из старой учетной записи в новую учетную запись, используя heroku sharing:transfer <new owner email>, затем (d) удалите старого соавтора адреса электронной почты (если хотите), используя heroku sharing:remove <old owner email>

** Обратите внимание, что ссылка heroku, предоставленная мной, гласит, что существуют особые требования к перемещению приложения с любыми оплаченными ресурсами. Как правило, удаляйте платные ресурсы, затем добавляйте их позже или поддерживайте их.

Ответ 5

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

$ heroku accounts:set account_name

каждый раз, когда вы хотите использовать инструмент командной строки Heroku.

Быстрое решение для людей, имеющих доступ к оболочке bash: создайте локальный каталог bin (он уже присутствует в приложениях Rails) и создайте там bin/heroku. Содержание:

#!/bin/bash
/usr/bin/heroku accounts:set account_name
/usr/bin/heroku $*

(замените "имя_проекта", если это необходимо) Затем запустите

$chmod + x bin/heroku

Затем вы можете запустить

$bin/heroku run console

и он автоматически использует для вас правильную учетную запись Heroku. Еще лучше добавить. /bin к вашему пути, чтобы вы вернулись к работе:

$запускать консоль героя

Ответ 6

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

Ответ 7

Чтобы заставить это работать для меня как с Git, так и с консолью Heroku, мне пришлось добавить create ssh config, как указано bantic, но мне также пришлось создать два пульта для моей .git config:

[remote "origin"]
  url = [email protected]:pacific-rock-4904.git
  fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "heroku"]
  url = [email protected]:pacific-rock-4904.git
    fetch = +refs/heads/*:refs/remotes/heroku/*

Ответ 8

Это некоторое время подтачивало меня, и я никогда не находил того решения, которое мне нравилось. Наконец нашел один.

(конкретный ответ OS X.)

Вы можете просто создавать новых пользователей. Перейдите в раздел Системные настройки → Пользователи и группы → Добавить пользователя или группу. Вы можете создать несколько пользователей для разных учетных записей heroku, я просто назвал мой user1, user2 и т.д.

Затем перейдите в Системные настройки → Обмен → Удаленный вход → Разрешить доступ для: Все пользователи

В этот момент вы можете перейти на терминал и сделать следующее:

$ ssh [email protected]

Затем вы можете делать такие вещи:

$ heroku login
$ heroku keys:add

Ответ 9

У меня есть одна и та же проблема.

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

Ответ 10

Я использую win7

1) создать другую учетную запись пользователя в win7 и войти в нее

2) откройте git bash и войдите в свою новую учетную запись heroku

3) создайте и загрузите новый ключ RSA (инструкция здесь: https://devcenter.heroku.com/articles/keys)

4), тогда сделайте то, что захотите (создайте новое приложение, нажмите на него файл.....)

5) каждый раз, когда вам нужно работать со своей оригинальной учетной записи heroku, просто войдите в свою первоначальную учетную запись пользователя win и работайте с героем

Ответ 11

создать новый открытый/закрытый ключ для нового сообщения электронной почты следующим образом

1) ssh-keygen -t rsa -C "[email protected]"

2) укажите новое имя файла, в котором нужно сохранить ключ (/home/.ssh/seckey)

3) Затем добавьте новый ключ в ssh-agent: - ssh-add ~/.ssh/seckey

4) Затем добавьте новый ключ в герою: - ключи героя: добавьте ~/.ssh/seckey

5) добавьте файл конфигурации SSH как ~/.ssh/config и содержимое следующим образом

Host heroku.com Имя хоста heroku.com Порт 22 Идентично только да IdentityFile ~/.ssh/seckey Пользователь [email protected]

Host heroku.com Имя хоста heroku.com Порт 22 Идентично только да IdentityFile ~/.ssh/id_rsa Пользователь [email protected]

6) клонировать код, используя

a) git клон git @heroku.com: your-application.git b) heroku git: clone -a ваше приложение

Ответ 12

Я использовал nano.git/config, а затем заменил значение url удаленной "heroku" на heroku.com > apps > settings > Reveal config vars > Heroku Git URL

Ответ 13

Отредактируйте свою конфигурацию для этого проекта, установив правильный адрес электронной почты. Из корня этого репозитория git config user.email <heroku email>