내 컴퓨터에서 여러 Heroku 계정으로 작업 할 때 문제가 있습니다.
문제는 heroku gem으로 계정을 전환하여 이전에 훌륭하게 작동했다는 것입니다. 하지만 지금은 (새 SSH 키를 생성했지만) 작동하지 않습니다.
내가 할 때 git push heroku master다음과 같이 말합니다.
my@email.com이 my_app_name에 액세스 할 권한이 없습니다.
누구든지 내가 이것을 해결할 수있는 방법에 대한 조언이 있습니까?
내 컴퓨터에서 여러 Heroku 계정으로 작업 할 때 문제가 있습니다.
문제는 heroku gem으로 계정을 전환하여 이전에 훌륭하게 작동했다는 것입니다. 하지만 지금은 (새 SSH 키를 생성했지만) 작동하지 않습니다.
내가 할 때 git push heroku master다음과 같이 말합니다.
my@email.com이 my_app_name에 액세스 할 권한이 없습니다.
누구든지 내가 이것을 해결할 수있는 방법에 대한 조언이 있습니까?
답변:
올바른 ssh 키를 사용하고 있는지 확인해야합니다.
이를 수행하는 방법 (그리고 heroku 계정 플러그인이 프롬프트하는 방법)은 ~ / .ssh / config의 ssh 구성 파일에 섹션을 추가하는 것입니다. 예를 들어, 내 작업 heroku 계정의 경우 ssh 구성에 다음이 있습니다.
Host heroku.work
HostName heroku.com
IdentityFile ~/.ssh/id_heroku_work_rsa
IdentitiesOnly yes
이제 이것은 매우 중요합니다. git remote가 동일한 이름의 host 를 사용 하도록 설정되어 있는지 확인해야합니다 . 이 경우 heroku.work 입니다. 일반적으로 단일 계정으로 heroku를 사용하는 경우에는 heroku.com이됩니다.
따라서 git remote를 편집해야 .git/config합니다 (시스템의 저장소 파일 에서이 작업을 수행 할 수 있습니다 ). 파일을 다음과 같이 변경하십시오.
[remote "heroku"]
url = git@heroku.work:<appname>.git
heroku에 유의하십시오. 헤 로쿠가 아니라 일 . com 을 입력하고 <appname>을 heroku의 앱 이름 (일명 repo 이름)으로 바꿉니다.
.ssh/config그래서 그것을 확인하는 heroku.work로 확인heroku.com
heroku-accounts 플러그인을 사용하여이 문제를 해결했습니다.
지침은 여기를 참조하십시오.
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
자신이 소유하지 않은 프로젝트의 공동 작업자로 인정 받아야합니다.
다음과 같이 작동합니다 (git 사용).
그리고 그것은 모든 사람들이어야합니다; 다른 앱에 배포 할 때 다른 리모컨을 푸시하면됩니다.
heroku-accounts 플러그인에 몇 가지를 추가하겠습니다 .이 예제에서는 기존 heroku 계정이 heroku.work이고 새 계정 heroku.personal을 추가한다고 가정합니다.
또한 앱을 한 앱에서 다른 앱으로 이동하는 방법을 설명합니다. 예를 들어 앱 최대 값이 25 개에 도달하고 새 계정을 만들고 일부 프로젝트 및 실험용 앱을 기본 계정에서 이동하려는 경우입니다.
heroku accounts:set personal때까지) 후 당신이에게 Heroku를 사용하여 응용 프로그램을 전송하는 sharing기술로 Section 명령을 https://devcenter.heroku.com/articles/transferring-apps따라서 필요한 단계는 다음과 같습니다.
heroku accounts:add work --auto하여 새 heroku.work 계정을 만들어 이전 기본 계정을 대체하십시오 (그러므로 함께 사용했던 것과 동일한 자격 증명을 사용하십시오). 또한 새 키를 heroku에 업로드해야합니다.heroku keys:add ~/.ssh/identity.heroku.work.pubheroku accounts:add personal --auto하여 새 heroku.personal 계정을 만듭니다 (예 : 새 heroku 계정에 대해 새 자격 증명 사용). 또한 새 키를 heroku에 업로드해야합니다.heroku keys:add ~/.ssh/identity.heroku.personal.pubheroku accounts:set work(이 모든 작업은 heroku.work를 사용하도록 git을 설정합니다.이 예제에서는 사용했던 것과 동일한 heroku 계정이 지금 만 heroku라고합니다). 작업.heroku sharing:add <new owner email>(a) 로컬 디렉토리에서 (b) 와 함께 새 heroku 계정을 공동 작업자로 추가하고 heroku accounts:set personal(c) transfer **를 사용하여 앱을 heroku.personal로 전환합니다. 다음을 사용하여 이전 계정에서 새 계정으로 앱을 heroku sharing:transfer <new owner email>만든 다음 (d) 이전 이메일 주소 공동 작업자를 제거합니다 (원하는 경우).heroku sharing:remove <old owner email>** 내가 제공 한 heroku 링크에는 유료 리소스로 앱을 이동하는 데 특별한 요구 사항이 있다고 나와 있습니다. 일반적으로 유료 리소스를 제거한 다음 나중에 다시 추가하거나 지원을 받으십시오.
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 $*
( "project_name"을 적절하게 교체) 그런 다음
$ chmod + x bin / heroku
그런 다음 실행할 수 있습니다.
$ bin / heroku 실행 콘솔
자동으로 올바른 Heroku 계정을 사용합니다. 더 나은 방법은 경로에 ./bin을 추가하여 다시 실행하는 것입니다.
$ heroku 실행 콘솔
Git과 Heroku 콘솔 모두에서이 작업을 수행하려면 bantic의 지시에 따라 ssh 구성을 추가해야했지만 .git 구성에 두 개의 원격을 만들어야했습니다.
[remote "origin"]
url = git@heroku.work:pacific-rock-4904.git
fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "heroku"]
url = git@heroku.com:pacific-rock-4904.git
fetch = +refs/heads/*:refs/remotes/heroku/*
이것은 한동안 나를 괴롭 혔고 내가 좋아하는 해결책을 찾지 못했습니다. 마침내 하나를 찾았습니다.
(OS X 특정 답변.)
새 사용자를 만들 수 있습니다. 시스템 환경 설정-> 사용자 및 그룹-> 사용자 또는 그룹 추가 버튼으로 이동합니다. 다른 heroku 계정에 대해 몇 명의 사용자를 만들 수 있습니다. 방금 내 user1, user2 등으로 이름을 지정했습니다.
그런 다음 시스템 환경 설정-> 공유-> 원격 로그인-> 액세스 허용 : 모든 사용자로 이동합니다.
이 시점에서 터미널로 이동하여 다음을 수행 할 수 있습니다.
$ ssh user1@localhost
그런 다음 다음과 같이 할 수 있습니다.
$ heroku login
$ heroku keys:add
나는 똑같은 문제가 있습니다.
이것이 답은 아니지만 임시 해결책은 "표준"heroku 이메일을 공동 작업자로 액세스 할 수없는 앱에 추가하는 것입니다.
나는 win7을 사용하고있다
1) win7에서 다른 사용자 계정을 만들고 로그인합니다.
2) git bash를 열고 새 heroku 계정에 로그인하십시오.
3) 새 RSA 키 생성 및 업로드 (지침 : https://devcenter.heroku.com/articles/keys )
4) 그런 다음 원하는 작업을 수행합니다 (새 앱 생성, 파일 푸시 .....)
5) 원래 heroku 계정으로 작업해야 할 때마다 원래 win 사용자 계정에 로그인하고 heroku로 작업하십시오.
다음과 같이 새 이메일에 대한 새 공개 / 개인 키를 만듭니다.
1) ssh-keygen -t rsa -C "mvjohn@klairvoynat.com"
2) 키를 저장할 새 파일 이름 (/home/.ssh/seckey) 제공
3) 그런 다음 새 키를 ssh-agent에 추가합니다.-ssh-add ~ / .ssh / seckey
4) 그런 다음 heroku에 새 키를 추가합니다.-heroku 키 : ~ / .ssh / seckey 추가
5) SSH Config 파일을 ~ / .ssh / config로 추가하고 다음과 같이 내용을 추가합니다.
호스트 heroku.com 호스트 이름 heroku.com 포트 22 IdentitiesOnly 예 IdentityFile ~ / .ssh / seckey 사용자 mvjohn@klairvoynat.com
호스트 heroku.com 호스트 이름 heroku.com 포트 22 IdentitiesOnly 예 IdentityFile ~ / .ssh / id_rsa 사용자 mvjohn@hotmail.com
6) 다음 중 하나를 사용하여 코드 복제
a) git clone git@heroku.com : your-application.git b) heroku git : clone -a your-application
Heroku-accounts 플러그인을 설치하고 구성하세요 !!
heroku plugins:install heroku-accounts
계정을 추가하려면 :
$ heroku accounts:add personal
Enter your Heroku credentials.
Email: david@heroku.com
Password: ******
계정을 나열하려면 :
$ heroku accounts
* personal
work
다른 계정으로 전환하려면 :
heroku accounts:set personal
현재 계정을 찾으려면 :
$ heroku accounts:current
personal
계정을 제거하려면 :
$ heroku accounts:remove personal
Account removed: personal
작업 heroku 계정으로 설정하고 변경 사항을 푸시합니다.