RedHat6.3上遇见错误:
1 2 3 4 5 |
error: The requested URL returned error: 403 while accessing https://github.com/jma87/socket.git/info/refs fatal: HTTP request failed |
查看github解释,应该是git版本(1.17.1)过低, yum update又提示没有可用的升级包,只能试试用ssh方式,按照官方的说明,配置一下ssh key:
1.生成rsa密钥对
1 2 3 4 5 6 7 |
#ssh-keygen -t rsa -b 4096 -C "your_email@example.com" Generating public/private rsa key pair. Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] Enter passphrase (empty for no passphrase): [Type a passphrase] # Enter same passphrase again: [Type passphrase again] |
"your_email@example.com"替换为在github的注册邮箱,提示保存key的文件时,使用默认值直接回车,然后提示输入密码,自己设定一个(注意不是github账户的密码)
2.将密钥添加到ssh-agent
我用的系统是Linux,直接运行"ssh-agent -s"虽然可以启动,但是ssh-add密钥时提示错误"Could not open a connection to your authentication agent.",所以需要依下面的方式启动:
1 2 3 4 5 6 7 8 |
如果用git-bash,使用下面方法启动ssh-agent $ssh-agent -s 如果使用其他shell,使用下面方法启动ssh-agent $eval $(ssh-agent -s) stackoverflow上有人介绍如果使用Linux系统,可以用下面方法启动ssh-agent,测试也是可以的 #exec ssh-agent bash |
启动ssh-agent之后,就可以添加密钥了:
1 2 3 |
$ssh-add ~/.ssh/id_rsa |
3.将公钥添加到github账号名下
这一步很简单,在github--profile--setting里面很容易找到ssh密钥添加的地方,唯一需要注意的是,添加到github的内容来自于id_rsa.pub文件,并且内容不能有丝毫差异。建议将此文件拷贝到windows上,然后用notpad++打开后再粘帖,应该就不会出错了
4.测试链接
1 2 3 4 5 6 |
#ssh -T git@github.com Warning: Permanently added the RSA host key for IP address '192.30.252.130' to the list of known hosts. Enter passphrase for key '/root/.ssh/id_rsa': Hi jma87! You've successfully authenticated, but GitHub does not provide shell access. |
注意这里的地址是git@github.com,可能会提示输入密码,此处输入第一步生成rsa密钥时设置的密码
5.修改本地配置的github仓库地址为ssh地址
1 2 3 4 5 6 |
#git remote set-url origin git@github.com:USERNAME/OTHERREPOSITORY.git 要查看现有的remote仓库地址 #git remote -v |
也可以直接手动修改.git/config文件里面的origin项来达到同一目的
操作上比较简单,但是没弄明白里面的意思,头疼,先这样吧。