无法将git推送到远程存储库:( SSH错误)

Mat*_* H. 10 git ssh github heroku

当我尝试推送到我的heroku.com远程git存储库时,我收到以下消息:

ssh: connect to host heroku.com port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

我可以使用相同的ssh密钥轻松使用github 上的存储库.

输入:

$ssh git@github.com    #outputs: success message
$ssh git@heroku.com    #outputs: ssh: connect to host heroku.com port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

我在Mac OS 10.6上.而且我很无聊慢慢学习!

更新:

$telnet heroku.com 22
Run Code Online (Sandbox Code Playgroud)

给出这个输出:

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
Run Code Online (Sandbox Code Playgroud)

Fra*_*rar 5

Connection refused是一条TCP错误消息,指出该服务器未在该端口上运行服务.在这种情况下,也许heroku.com的SSH服务器没有运行.

如果你没有给他们你的密钥,或者你使用了错误的私钥,ssh会说出这样的话:

frank@roke$ ssh git@heroku.com
Permission denied (publickey).

frank@roke$ ssh -i ~/.ssh/roke-frank.priv git@heroku.com
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

(以上消息表明,现在heroku的SSH服务器确实正在运行.)

由于您无法连接到我可以使用的同一台服务器,因此可能存在防火墙问题.你是NAT背后的吗?您的网关是否允许连接到远程计算机上的端口22?

该机器也运行Web服务器,所以试着telnet heroku.com 80看看你是否可以连接到那台机器.