升级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)

github yosemite mac

hfaga 10 years, 10 months ago

DNS 改成8.8.8.8试试

美琴D呱太 answered 10 years, 10 months ago

首先,你的电脑要有 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

Susan answered 10 years, 10 months ago

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

解决方案

  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了。

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

吐槽

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

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

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

zzzpila answered 10 years, 10 months ago

Your Answer