首页 > 升级Yosemite后github for Mac的客户端出错

升级Yosemite后github for Mac的客户端出错

2014-11-19 20:41:30.130 GitHub for Mac Login[2595:326257] AskPass with arguments: (
    "/Applications/GitHub.app/Contents/MacOS/GitHub for Mac Login",
    "Username for 'https://github.com': "
)
2014-11-19 20:41:30.200 GitHub for Mac Login[2596:326280] AskPass with arguments: (
    "/Applications/GitHub.app/Contents/MacOS/GitHub for Mac Login",
    "Password for 'https://tcitry@github.com': "
)
fatal: unable to access 'https://github.com/tcitry/tcitry.github.io.git/': Empty reply from server
 (128)

您好。虽然您已经解决了问题,但是由于这是百度检索的第一条,希望给后来者帮助。

解决方案

  1. 进入客户端设置(Settings),检查远程库地址

    应该是类似这样的地址:https://github.com/~.git

  2. 按着如下格式,修改远程库地址(即改成 SSH 连接)

    git@github.com:~.git

    然后点击 Update Remote

  3. 提交

注意使用终端提交的同样修改提交地址即可。

问题分析

首先我认为这不是 SSH KEY 的问题--!应该也不是升级系统的原因。使用 HTTPS 连接会要求输入账户密码(这是加密连接,有些公司内网只支持此种连接方式)。但是,必须确保此时的公钥与私钥是正确对应的,尤其是经过诸多测试后

确认秘钥

请看官方帮助文档,非常详细的故障排除!如果问题仍在,一定要仔细看!

尤其注意ssh -vT git@github.com命令的运行结果:

Offering RSA public key: /Users/you/.ssh/id_rsa说明调用的KEY

Trying private key: /Users/you/.ssh/id_rsa说明KEY不存在

注意 GitHub客户端会自动生成KEY(github_rsa & github_rsa.pub)并自动添加公钥。不必再生成KEY了。

即使再生成也没有影响,两者默认命名是不同的,不会覆盖。

吐槽

但是我的的客户端昨天还好好的,今天就得改下远程库地址连接方式才能提交。好诡异。

寻找原因中。愿与诸位共讨论。

网站说无需注册,但是绑定微博后,还是得注册,设计者该打!


DNS 改成8.8.8.8试试


首先,你的电脑要有 SSH KEY,然后 这个 SSH 要和 github 上的匹配(详见 github doc ),最后如果你用客户端 那么要保证一切和客户端契合。

目前一个可能的坑是:客户端可能会自动生成一个 SSH KEY(客户端自动生成了什么 ??),覆盖掉手动添加过的 SSH KEY 。

你需要检查 客户端-本地SSH KEY文件-github网站 的契合。

为了避免麻烦和排错,如果你用客户端,那么一个通用的思路是,一切清零(改名已有的 ~/.ssh/id_rsa.pub 文件做备份),然后 让客户端处理一切 SSH KEY 的相关事项

-

SSH 密钥的问题?打开终端测试 SSH KEY
ssh -T git@github.com
如果没显示 " Hi ...! You've successfully authenticated ... " 之类的,那么就是 SSH KEY 的问题。如果是密钥问题,则可这样做

解决办法

  1. 查看本机是否有 SSH KEY
  2. 新建 SSH KEY
  3. 将新密钥添加到 github

具体做法

Finder 进入 .SSH 文件夹
cmd + shift + g ,输入 .ssh 进入 .ssh 文件夹
或直接打开终端用命令行查看密钥
ls -al ~/.ssh
应该会有一个 id_rsa.pub 文件
如果没有,在终端运行 ssh-keygen -t rsa 以生成之

打开新终端 pbcopy < ~/.ssh/id_rsa.pub
打开你的 github 主页,打开 Add SSH key 的页面 https://github.com/settings/ssh 按照[2]的做法添加密钥

最后测试ssh -T git@github.com应该会显示 " successfully authenticated "

解释

如果之前你设置了 github 的 SSH KEY (在 https://github.com/settings/ssh ),那么如果你电脑上的 SSH KEY 变动(或者被删除了),就会登不上 github。这时需要将当前的 SSH KEY (或重新生成一个 SSH KEY) 添加到 github 上。参考 1

【热门文章】
【热门文章】