问题
拉取ssh报错,提示如下:
ssh: connect to host github.com port 22: Connection timed out
原因
参考下面:
有时,防火墙完全拒绝允许 SSH 连接。如果无法选择使用带有凭据缓存的 HTTPS 克隆,您可以尝试使用通过 HTTPS 端口建立的 SSH 连接进行克隆。大多数防火墙规则应该允许这样做,但代理服务器可能会干扰。
可能是公司的防火墙对22端口做了屏蔽导致。
解决
在windows电脑中,C盘用户下.ssh文件夹中增加一个config文件(注意无文件名后缀),添加如下的配置:
代码如下:
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
在terminal中,执行ssh -T git@github.com
再次拉取代码,会提示新的443端口验证身份,yes后验证成功即可拉取代码了。
You've successfully authenticated, but GitHub does not provide shell access.