目录

  • 问题描述
  • 解决方法

问题描述

我们如果想要用git ssh链接到远端github,进行repo的clone等操作时,会进行如下的操作:

  1. 首先在ssh端命令生成rsa秘钥,命令如下: ssh-keygen -t rsa -C “你的git绑定的邮箱名字”
  2. 然后在github端新建ssh key, 将生成的key写进去。
  3. 然后对是否建立联系进行验证,通常运行ssh -T git@github.com来验证我们是否连接上。

对于上述提到的第1,2步,csdn上就有很多的具体介绍,如以下这个blog: 具体ssh key产生和添加到github的流程

而在进行第三步的时候,可能会遇到以下ssh connect time out的问题:

$ ssh -T git@github.comssh: connect to host github.com port 22: Connection timed out

针对这个问题,网上很多的blog说的不明不白,一直重复复制,最后也不能真正的解决问题,这里就记录一下能够解决问题的方法

解决方法

解决的方法很简单,需要通过修改你所生成的rsa所在地址~/.ssh下面的config文件所实现的

Host github.comHostName ssh.github.com  # 这是最重要的部分User gitPort 443PreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa

需要在你的config部分加入这一些配置,最主要的是第二行。这里为什么要配置成这个呢,是因为github.com并不会自动的转换为ssh.github.com,我们启动的是后者,而不是前者,这会导致time out的产生。

当解决完这个问题之后,你就可以去clone你github中的repo了,直接一个命令如下:

git clone “你从github repo中复制下来的链接”

那么就可以完成这个操作了。

希望能够帮助到你!