Heroku 上的多个 ssh 密钥

Heroku 上的多个 ssh 密钥

我有:

计算机 Aid_rsaid_rsa.pub

计算机 B 具有不同的id_rsaand id_rsa.pub(与计算机 A 中的不同)和id_rsa2 id_rsa2.pub

我在 Heroku 上创建了一个帐户,来自id_rsa.pub机器 A。现在我尝试在机器 B 上拉取一个项目,所以我尝试id_rsa.pub从机器 B 添加。不幸的是,前段时间我在另一个 Heroku 项目中使用了它(使用另一个帐户),而我无法在这个项目中使用它。所以我添加了id_rsa2.pub,它是有效的。但heroku git:clone仍然尝试使用id_rsa而不是id_rsa2。我该如何强制它?

答案1

解决方案是在你的机器上本地定义不同的域,这是通过

将以下内容添加到 ~/.ssh/config 文件中

Host heroku.personal
  HostName heroku.com
  IdentityFile ~/.ssh/id_rsa
  IdentitiesOnly yes
Host heroku.work
  HostName heroku.com
  IdentityFile ~/.ssh/work_rsa
  IdentitiesOnly yes

现在你可以使用 git clone 克隆项目[电子邮件保护]:your-app-name.git 注意,使用的是 heroku.work,而不是 heroku.com

现在我们需要更改项目中的 .git/config,以便让任何进一步的 git 命令使用新的 url

请注意,文件 /path/to/your/app/.git/config 中的 url 设置为您在 git clone 命令中使用的 url

相关内容