Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将git推送到远程存储库:(SSH错误)_Git_Ssh_Github_Heroku - Fatal编程技术网

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

无法将git推送到远程存储库:(SSH错误),git,ssh,github,heroku,Git,Ssh,Github,Heroku,当我尝试推送到heroku.com远程git存储库时,我收到以下消息: ssh: connect to host heroku.com port 22: Connection refused 我可以使用相同的ssh密钥轻松地在github上使用我的存储库 输入: $ssh git@github.com #outputs: success message $ssh git@heroku.com #outputs: ssh: connect to host heroku.com por

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

ssh: connect to host heroku.com port 22: Connection refused
我可以使用相同的ssh密钥轻松地在github上使用我的存储库

输入:

$ssh git@github.com    #outputs: success message
$ssh git@heroku.com    #outputs: ssh: connect to host heroku.com port 22: Connection refused
我使用的是MacOS10.6。而且我在慢慢地学习中非常无知

更新:

$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

你需要把你的钥匙给heroku


因为heroku和github是两个不同的服务。它们不共享您的密钥。

连接被拒绝是一条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).
(以上消息表明,heroku的SSH服务器目前确实正在运行。)

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


这台机器也运行一台web服务器,所以请尝试
telnet heroku.com 80
,看看您是否可以连接到这台机器。

看来ssh服务器不工作或主机处于脱机状态。 我认为这是暂时的麻烦

我正在尝试:

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进行诊断git@heroku.com
(或-vv)

对不起,请参阅更新的帖子。一般来说,我对ssh是新手。我的意思是,我第一次配置了ssh密钥。我成功地运行了命令$heroku-keys:add/Users//.ssh/id_rsa.pub,但在尝试$ssh时仍然出现连接错误git@heroku.comMatt,请尝试
telnet heroku.com 22
检查服务是否实际运行。您应该会看到类似于
SSH-2.0-OpenSSH_5.1p1 Debian-5pgsql1的内容,因此运行“telnet heroku.com 22”会给我一个错误(请参阅更新的帖子),而运行“telnet github.com 22”会给我您预测的结果(SSH-2.0-…等等)。这意味着HeloCu.com的结尾有什么不对吗?另一个调试技巧请参见我编辑的答案。我添加了ssh标记,因为它与问题相关,并删除了ruby on rails标记,因为它不是。telnet heroku.com 80成功了…$telnet heroku.com 80正在尝试75.101.163.44。。。已连接到heroku.com。---我不是在防火墙后面,真正奇怪的是$sshgit@github.com没有问题。。(如果我运行ssh-vgit@github.com,我可以看到它正在连接端口22)时间以请求tcpdump。试试像tcpdump-i-vX-s1024主机heroku.com和端口22这样的东西,让我们看看输出。所以我不确定要放什么(我对网络知之甚少)。通过谷歌搜索,看起来有些选项是en0、en1、fw0和lo0。我尝试了所有这些(我必须做‘sudo’才能用它去任何地方)。点击回车键后,我会看到
tcpdump:监听en1,链接类型EN10MB(以太网),捕获大小1024字节,然后是一个闪烁的光标。什么都没发生。。。如果我按Ctl+C退出,它会显示:
0个捕获的数据包/0个过滤器接收的数据包/0个内核丢弃的数据包
?非常感谢您的支持time@frank好的,最后一件事!heroku技术支持部门的人回复我说,我可能有peerguardian或类似的东西引起了问题。(我已经安装了peerguardian,但目前尚未运行)。具体地说,他们说“大多数时候,我们发现用户的软件正在阻止ec2/amazon。”也许这会有所帮助?我做了一些挖掘,发现peerguardian在System Profiler中运行了两个进程,即使应用程序没有运行。我完全卸载了PeerGuardian并重新运行了telnet heroku.com 22。成功!结果: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:连接被拒绝debug1:连接到heroku.com[75.101.145.87]端口22。debug1:连接到地址75.101.145.87端口22:连接被拒绝ssh:连接到主机heroku.com端口22:连接被拒绝
ssh-v
没有帮助(在本例中):正如您所看到的,这是TCP问题。连接被拒绝意味着协商SSH会话还没有开始。我也有同样的问题。。。我不能为我的任何应用程序推送我的代码。我无法通过SSH(端口22)连接到heroku.com以使用git: