GitHub 异常------无法连接22端口:Connection timed out
问题描述
-
正常配置并使用使用
SSH
方式,使用以下命令git clone
、git pull
、git push
,报错如下:bashssh: connect to host github.com port 22: connection timed out fatal: could not read from remote repository. please make sure you have the correct access rights and the repository exists.
原因分析:
- 表明
SSH
连接在尝试通过22
端口连接到远程服务器时超时。这可能是由于网络环境、防火墙设置或代理配置等原因导致的(很可能端口22
被防火墙或提供商阻止了)。
解决方案:
bash
$ git clone git@github.com:xxxxx/xxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
$ # This should also timeout
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out
$ # but this might work
$ ssh -T -p 443 git@ssh.github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
$ # Override SSH settings
$ vim ~/.ssh/config
# Add section below to it
Host github.com
Hostname ssh.github.com
Port 443
$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not
provide shell access.
$ git clone git@github.com:xxxxxx/xxxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), 22.90 KiB | 4.58 MiB/s, done.
参考
[1]. 在 HTTPS 端口使用 SSH
[2]. Solution for 'ssh: connect to host github.com port 22: Connection timed out' error