2010-10-29 74 views
10

当我试图推到我的heroku.com远程git仓库,我得到这个消息:不能推GIT中远程仓库:(SSH错误)

ssh: connect to host heroku.com port 22: Connection refused 

我可以用我的仓库在github 工作轻松使用相同的ssh密钥。

请输入:

$ssh [email protected] #outputs: success message 
$ssh [email protected] #outputs: ssh: connect to host heroku.com port 22: Connection refused 

我在Mac OS 10.6。而我 很无知 慢慢学习!

UPDATE:

$telnet heroku.com 22 

给出了这样的输出:

Trying 75.101.145.87... 
telnet: connect to address 75.101.145.87: Connection refused 
Trying 75.101.163.44... 
telnet: connect to address 75.101.163.44: Connection refused 
Trying 174.129.212.2... 
telnet: connect to address 174.129.212.2: Connection refused 
telnet: Unable to connect to remote host 
+1

我加入了SSH标签,因为它是相关的问题,并取消了红宝石导通铁轨标签,因为它不是。 – 2010-10-29 07:47:10

回答

5

拒绝连接是一个TCP错误消息,指出该服务器未在该端口上运行服务。在这种情况下,或许heroku.com的SSH服务器没有运行。

如果你还没有给他们你的钥匙,或者你使用了错误的私钥,SSH会说这样的事情:

[email protected]$ ssh [email protected] 
Permission denied (publickey). 

[email protected]$ ssh -i ~/.ssh/roke-frank.priv [email protected] 
Permission denied (publickey). 

(和上面的消息表明,现在Heroku的SSH服务器确实运行。)

由于您无法连接到可以连接到的服务器,所以可能存在防火墙问题。你在NAT后面吗?您的网关是否允许连接到远程机器上的端口22?

该机器也运行Web服务器,因此请尝试telnet heroku.com 80以查看是否可以连接到该机器。

+0

TCP错误...然后有什么建议? – 2010-10-29 07:47:18

+0

telnet heroku.com 80成功... $ telnet heroku.com 80 尝试75.101.163.44 ... 连接到heroku.com。 ----我不在防火墙后面,真正奇怪的是$ ssh [email protected]没有问题..(如果我运行ssh -v [email protected],我可以看到它连接在端口22) – 2010-10-29 23:36:41

+1

请问tcpdump的时间。尝试像'tcpdump -i <您的界面> -vX -s1024主机heroku.com和端口22',让我们看看输出。 – 2010-10-30 07:50:10

0

你需要把你的关键的Heroku。

因为heroku和github是两个截然不同的服务。他们不会分享你的钥匙。

+0

对不起,请参阅更新后的帖子。一般来说,我是新手。我的意思是我第一次配置了一个ssh密钥。 – 2010-10-29 07:44:00

+0

我跑的命令$ heroku键:添加/ Users/ /.ssh/id_rsa.pub成功,但我仍然得到连接错误,当我尝试$ ssh [email protected] – 2010-10-29 07:44:49

+1

马特,尝试'telnet heroku .com 22'来检查服务是否正在运行。你应该看到像'SSH-2.0-OpenSSH_5.1p1 Debian-5pgsql1' – 2010-10-29 07:49:57

2

看来ssh-server无法正常工作或主机处于脱机状态。 我认为这是暂时的麻烦。

我想现在:

telnet heroku.com 22 
Trying 174.129.212.2... 
Connected to heroku.com (174.129.212.2). 
Escape character is '^]'. 
SSH-2.0-OpenSSH_5.1p1 Debian-5pgsql1 

反正你可以做诊断ssh -v [email protected](或-vv)

+0

结果: OpenSSH_5.2p1,OpenSSL的0.9.8l 2009年11月5日\\ DEBUG1:读取配置数据的/ etc/ssh_config中\\ DEBUG2:ssh_connect:needpriv 0 \\ DEBUG1:连接到heroku.com [75.101。 163.44]端口22. \\ debug1:连接到地址75.101.163.44端口22:连接被拒绝 debug1:连接到heroku.com [174.129.212.2]端口22. debug1:连接到地址174.129.212.2端口22:连接拒绝 调试1:连接到heroku.com [75.101.145.87]端口22. debug1:连接到地址75.101.145.87端口22:连接被拒绝 ssh:连接到主机heroku.com端口22:连接被拒绝 – 2010-10-30 00:12:19

+2

'ssh -v '不会帮助(在这种情况下):正如你所看到的,这是一个TCP问题。连接被拒绝意味着协商SSH会话甚至还没有开始。 – 2010-10-30 18:52:56

+0

我有同样的问题...我无法将我的代码推送到我的任何应用程序中。我无法通过SSH(端口22)连接到heroku.com以使用git:https://gist.github.com/littlepea/5538265 – littlepea 2013-05-08 04:50:01