![在 Mac 上设置 Github 时遇到错误“写入失败:管道损坏”](https://linux22.com/image/578064/%E5%9C%A8%20Mac%20%E4%B8%8A%E8%AE%BE%E7%BD%AE%20Github%20%E6%97%B6%E9%81%87%E5%88%B0%E9%94%99%E8%AF%AF%E2%80%9C%E5%86%99%E5%85%A5%E5%A4%B1%E8%B4%A5%EF%BC%9A%E7%AE%A1%E9%81%93%E6%8D%9F%E5%9D%8F%E2%80%9D.png)
我在 Mac 上尝试设置 Github 时遇到了这个烦人的错误,OS 版本是 Lion。基本上,我按照此 URL 中提到的步骤进行操作:http://help.github.com/mac-set-up-git/
我总是停留在执行这个命令“ssh -T[电子邮件保护]“
我尝试输出调试消息,下面是消息日志。最后一条消息显示这是由于错误“写入失败:管道损坏”导致的。
如果您以前遇到过此错误并且能够修复它,请给我一个解决方案来修复此错误。
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
答案1
这是来自过时的 SSH 连接。
尝试将以下行添加到:Private/etc/ssh/ssh_config
ServerAliveInterval 120
或者
ClientAliveInterval 15
答案2
这管道破裂错误通常发生在连接超时(例如,您的连接速度很慢或出现暂时中断)时。
如果这种情况经常发生,请尝试增加 SSH 配置中的服务器活动间隔值(~/.ssh/config
):
Host *
ServerAliveInterval 30
ServerAliveCountMax 6