我无法获得管理ssh密钥的系统.
我想将应用程序推送到Heroku,所以我试图推送但得到错误.
这是我的日志
$ git push heroku master
! Your key with fingerprint bf:f6:ed:14:9d:cd:52:a2:a3:16:b2:e9:b4:f2:bf:ba is not authorized to access warm-samurai-6574.
fatal: The remote end hung up unexpectedly
User@PK /e/examples (master)
$ heroku keys:add
Found existing public key: C:/Users/User/.ssh/id_rsa.pub
Uploading SSH public key C:/Users/User/.ssh/id_rsa.pub
!This key is already in use by another account. Each account must have a unique key.
User@PK /e/examples (master)
$ heroku keys
=== 1 key for denys.medynskyi@gmail.com
ssh-rsa AAAAB3NzaC...etyxYh4Q== User@PK
Run Code Online (Sandbox Code Playgroud)
每个帐户都有自己的ssh密钥.所以我可以从任何计算机上推,因为ssh键正在推送到heroku?
heroku上的每个应用程序都应该有自己的ssh密钥?
Dan*_* M. 34
基本上,您的计算机有一个SSH密钥.但是,它上面的SSH密钥与另一个Heroku帐户相关联(与您现在使用的帐户不同).您最好的选择是生成一个全新的SSH密钥并将其添加到Heroku.
只需在您的计算机上创建一个新的SSH密钥并将其上传到Heroku:
$ ssh-keygen
Run Code Online (Sandbox Code Playgroud)
当提示问你时,请确保将其保存为'/Users/User/.ssh/new_id_rsa.pub'.
$ heroku keys:add /Users/User/.ssh/new_id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
这应该允许你使用Heroku.
至于你的其他问题:只要你通过添加计算机的SSH密钥,就可以从任何计算机上推送到Heroku heroku keys:add.不,每个应用程序都不需要拥有自己的SSH密钥.
Dan*_*ore 16
您的计算机有一个SSH密钥,但该SSH密钥与另一个Heroku帐户相关联.如果您需要在同一台计算机上同时使用这两个帐户,则应在计算机上创建一个新的SSH密钥并将其上传到Heroku:
$ ssh-keygen
Run Code Online (Sandbox Code Playgroud)
当提示问你时,请确保将其保存为'/Users/User/.ssh/new_id_rsa.pub'.
$ heroku keys:add /Users/User/.ssh/new_id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
然后,您需要添加另一个主机~/.ssh/config:
Host heroku-alt
HostName heroku.com
IdentityFile ~/.ssh/new_id_rsa
Run Code Online (Sandbox Code Playgroud)
然后.git/config在项目中更新以使用主机别名:
[remote "heroku"]
url = git@heroku-alt:myapp.git
fetch = +refs/heads/*:refs/remotes/heroku/*
Run Code Online (Sandbox Code Playgroud)
通过之间进行选择heroku,并heroku-alt在偏远.git/config的具体项目,你可以管理文件的项目中使用的凭证.
Heroku要求SSH密钥对于帐户是唯一的.两个帐户不能具有相同的ssh密钥.
您可以执行以下任一操作来解决您的问题:
你选择哪个真的取决于你.
如果您选择第三个选项,请参阅此答案https://superuser.com/a/272613/25665,了解如何在本地配置ssh以始终使用heroku的新密钥.如果你想知道为什么要这么麻烦,那么你将通过推送到git存储库与heroku进行交互.这需要您使用ssh进行身份验证.默认情况下,它将使用较旧的键,您将无法推送.它更容易告诉ssh在与之交互时使用备用密钥warm-samurai-6574.heroku.com
以下链接提供了有关创建新密钥的说明.您需要接受默认名称或根据您选择的选项提供自定义名称. https://devcenter.heroku.com/articles/keys
你可以从任何电脑推出吗?
再次,这取决于.如果计算机具有您的ssh密钥并且其配置为使用您的密钥用于heroku域,那么是.您可以选择不在那里复制密钥,只需将存在的ssh密钥添加到您的heroku帐户即可.
每个应用都需要一个唯一的密钥吗?
不可以.您可以在一个heroku帐户下拥有多个应用.他们都将分享您上传到heroku帐户的密钥.
| 归档时间: |
|
| 查看次数: |
9076 次 |
| 最近记录: |