在Mac上设置Github时出现错误“写入失败:损坏的管道”

问题描述:

我试图在Mac上设置Github,操作系统版本为Lion,我一直面临这个令人讨厌的错误。基本上,我随后于本URL: http://help.github.com/mac-set-up-git/在Mac上设置Github时出现错误“写入失败:损坏的管道”

我总是停留在执行该命令"ssh -T [email protected]"

我试图输出调试消息,并且下面是消息日志的步骤中提到的步骤。最后一条消息显示它是由于错误'Write failed: Broken pipe'

请给我一个解决方案,以解决这个错误,如果你曾经遇到过这个错误,并能够解决它。非常感谢。

user-users-macbook:.ssh useruser$ ssh -vT [email protected] 
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011 

debug1: Reading configuration data /etc/ssh_config 
debug1: Applying options for * 
debug1: Connecting to github.com [207.97.227.239] port 22. 
debug1: Connection established. 
debug1: identity file /Users/useruser/.ssh/id_rsa type 1 
debug1: identity file /Users/useruser/.ssh/id_rsa-cert type -1 
debug1: identity file /Users/useruser/.ssh/id_dsa type -1 
debug1: identity file /Users/useruser/.ssh/id_dsa-cert type -1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5github2 
debug1: match: OpenSSH_5.1p1 Debian-5github2 pat OpenSSH* 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_5.6 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-ctr hmac-md5 none 
debug1: kex: client->server aes128-ctr hmac-md5 none 
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP 
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY 
debug1: Host 'github.com' is known and matches the RSA host key. 
debug1: Found key in /Users/useruser/.ssh/known_hosts:1 
debug1: ssh_rsa_verify: signature correct 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
debug1: Roaming not allowed by server 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug1: Authentications that can continue: publickey 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: /Users/useruser/.ssh/id_rsa 
debug1: Remote: Forced command: gerve thsonvt 
debug1: Remote: Port forwarding disabled. 
debug1: Remote: X11 forwarding disabled. 
debug1: Remote: Agent forwarding disabled. 
debug1: Remote: Pty allocation disabled. 
debug1: Server accepts key: pkalg ssh-rsa blen 279 
debug1: Remote: Forced command: gerve thsonvt 
debug1: Remote: Port forwarding disabled. 
debug1: Remote: X11 forwarding disabled. 
debug1: Remote: Agent forwarding disabled. 
debug1: Remote: Pty allocation disabled. 
debug1: Authentication succeeded (publickey). 
Authenticated to github.com ([207.97.227.239]:22). 
debug1: channel 0: new [client-session] 
debug1: Requesting [email protected] 
debug1: Entering interactive session. 
debug1: Sending environment. 
debug1: Sending env LC_CTYPE = UTF-8 
Write failed: Broken pipe 

尝试增加

ClientAliveInterval 15 

原来的答复:

尝试添加下面一行到你的/ etc/SSH/ssh_config中

ServerAliveInterval 120 
+0

我试过了,但仍然存在相同的问题。 – Son 2012-03-07 13:48:10

+0

@Son编辑我的答案。 – ralphtheninja 2012-03-07 14:07:56

Write failed: Broken pipe只是意味着,为whate原因,连接中断。这可能是由于许多原因造成的,例如发生超时,或者由于互联网连接中断等导致服务器连接中断。增加ServerAliveInterval可以提供帮助;在ServerFault询问你是否了解了关于SSH设置的更多信息,因为它对于StackOverflow是无关紧要的:)

对你而言,这是无关紧要的;从调试输出中可以清楚地看到,您已经成功设置了SSH密钥(debug1: Authentication succeeded (publickey)和以下行)。

它看起来像你不止一次地完成了该教程的step 5; debug1: Found key in /Users/useruser/.ssh/known_hosts:1意味着您已经将远程主机添加到已知主机的列表中(这是在该教程的step 5中输入yes的全部内容)。

随意继续下一节(Then: Set Up Your Info);你已经完成了step 1step 5的所有工作。

+0

谢谢,我会在ServerFault上发布我的问题。 – Son 2012-03-07 13:48:31