原链接地址:http://lonewolf.me/content/2015/03/18/github-ssh.html
原创博客,转载请注明。


昨天上传东西到github的时候,又发生错误了,之前也遇到过:

unable to access 'https://github.com/xxx': Empty reply from server

网上有人说这是被“墙”的原因,可以用ssh的方式上传,于是试了一下,今天上传果然可以。

github官方也有详细的介绍 https://help.github.com/articles/generating-ssh-keys/ 以下以mac为例。

在本地生成ssh-key

  • 打开终端,输入以下文字:
ssh-keygen -t rsa
  • 接着会提示你,这个时候只要回车即可:
Enter file in which to save the key (/Users/you/.ssh/id_rsa):
  • 之后是输入两次密码,密码要4位数以上的:
Enter passphrase (empty for no passphrase):
Enter same passphrase again: 

这个时候就有两个文件~/.ssh/id_rsa~/.ssh/id_rsa.pub生成了。

  • 添加ssh-key
ssh-add ~/.ssh/id_rsa
  • 测试一下是否成功。
ssh -T git@github.com

出现successfully authenticated即是成功。

  • 复制ssh-key进剪贴板
pbcopy < ~/.ssh/id_rsa.pub

在github上设置

在以下的界面中,title可以随便填写,在key一栏粘贴即可。

ssh-key-paste

最后点击按钮。

ssh-add-key

sourcetree

如果用sourcetree的话,就要把远程库https://github.com/~.git改成git@github.com:~.git

最后重启一下机子。