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)
您好。虽然您已经解决了问题,但是由于这是百度检索的第一条,希望给后来者帮助。
解决方案
-
进入客户端设置(Settings),检查远程库地址
应该是类似这样的地址:https://github.com/~.git
-
按着如下格式,修改远程库地址(即改成 SSH 连接)
git@github.com:~.git
然后点击 Update Remote
提交
注意使用终端提交的同样修改提交地址即可。
问题分析
首先我认为这不是 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 KEYssh -T git@github.com
如果没显示 " Hi ...! You've successfully authenticated ... " 之类的,那么就是 SSH KEY 的问题。如果是密钥问题,则可这样做
解决办法
- 查看本机是否有 SSH KEY
- 新建 SSH KEY
- 将新密钥添加到 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