6

我正在 Heroku 上部署一个应用程序,所以我从一个 repo 创建了一个 Heroku 应用程序,然后做了git push heroku master。当我这样做时,它不断给我错误:

!  Your key with fingerprint xxx is not authorized to access heroku-app.

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我尝试了各种方法来更改我的 SSH 密钥,包括将它们全部删除并创建新的。它仍然给我同样的错误。我已将密钥添加到 Heroku。

然后我尝试运行ssh -vT git@heroku.com:heroku-app.git,结果是:

OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
ssh: Could not resolve hostname heroku.com:heroku-app.git: nodename nor servname provided, or not known

我无法弄清楚该错误指向什么。主机名绝对有效。是否有可能我在 SSH 配置文件中没有我需要的东西?任何想法都会很棒,因为我今天花了好几个小时试图让这个工作无济于事。

4

2 回答 2

9

git@heroku.com:heroku-app.git是此 ssh 地址的SCP 格式

它依赖于一个~/.ssh/config带有“heroku.com”条目的文件,该条目指定用户、实际主机名,如果需要,还可以指定私钥/公钥路径。

host heroku.com
     user git
     hostname heroku.com
     identityfile ~/.ssh/yourPrivateKey

再说一遍:heroku.comin ' heroku.com:heroku-app.git'不是主机名:它是 ssh 配置文件中的一个条目。
您可以替换heroku.comxxx: ,前提是您在文件git push xxx:heroku-app.git中有 xxx 条目。~/.ssh/config

于 2013-01-03T07:23:48.610 回答
0

它也很简单:

  1. $ heroku 登录
  2. $ heroku git:clone -a appname (这行在这里为我解决了它)
  3. $ 混帐添加。
  4. $ git commit -am “让它变得更好”
  5. $ git push heroku 大师

在确保 $ heroku git:remote -a appname 之后(heroku 和 git 之间没有名称冲突)

于 2015-09-01T11:38:56.657 回答