近期无法通过git从github克隆项目的解决办法
问题描述
前些天,同事问我:“你能从github上克隆代码吗?”我的第一感觉是他的网络有问题。但是当我在自己的电脑上测试了之后
才发现,真是这样。
直到今天,我要往github上推送我的笔记(我的笔记托管在github上),git push命令提示:
ssh: connect to host github.com port 22: Operation timed out
网上一通搜索,从一位开发者那里得知,我们伟大的GFW从1月16号开始和谐了github的默认ip地址。
解决办法
那么,该怎么办呢?
办法总是有的。原来github除了在22端口上提供ssh服务,在另外一个域名ssh.github.com的443端口也提供ssh服务。
打开~/.ssh/config文件:
Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa
把HostName改为ssh.github.com, 然后增加一行Port: 433,保存。修改后的文件如下:
Host github.com
HostName ssh.github.com
User git
Port 443
PreferredAuthentications publickey
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa
这样,我们就又能愉快地访问github了。