解决ssh: connect to host github.com port 22: Connection timed out

当连接 GitHub 时无法连接到 22 端口时,可以尝试将端口更换为 443

  1. 首先,尝试使用以下命令从 GitHub 克隆仓库:
$ 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.

这说明不能通过 22 端口连接到 GitHub。
2. 接下来,尝试使用以下命令测试 SSH 连接:

$ ssh -T git@github.com

如果再次出现连接超时的错误信息:

ssh: connect to host github.com port 22: Connection timed out

这意味着无法通过 22 端口进行 SSH 连接。
3. 尝试使用以下命令,将 SSH 连接的端口更改为 443:

$ ssh -T -p 443 git@ssh.github.com

如果显示以下信息:

Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

这意味着通过 443 端口成功进行了身份验证,但 GitHub 不提供 shell 访问权限。
4. 现在,我们需要在 ~/.ssh/config 文件中覆盖 SSH 设置。使用以下命令编辑该文件:

$ vim ~/.ssh/config

在文件中添加以下内容:

# Add section below to it
Host github.com
  Hostname ssh.github.com
  Port 443

保存并关闭文件。
5. 最后,再次尝试使用以下命令进行 SSH 连接:

$ ssh -T git@github.com

如果显示以下信息:

Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access.

这意味着成功通过 443 端口进行了身份验证,并且现在可以正常连接到 GitHub。
6. 现在,您可以尝试再次克隆仓库:

$ 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.

这意味着成功克隆了 GitHub 上的仓库。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
问题描述中提到了在使用Ubuntu系统时出现了"ssh: connect to host github.com port 22: Connection timed out"的错误。这个错误表示连接到github.comSSH端口22超时了。为了解决这个问题,可以尝试以下方法: 1. 修改SSH配置文件: - 打开终端并输入以下命令:`sudo vim /etc/ssh/ssh_config` - 找到`#Port 22`这一行(可能是注释状态),将其修改为`Port 443`(如果没有这一行,可以直接添加) - 保存并退出配置文件 - 重新连接到github.com,看是否问题已经解决 2. 使用不同的SSH命令: - 打开终端并输入以下命令:`ssh -T git@ssh.github.com` 或 `ssh -T -p 443 git@github.com` - 如果连接成功并显示"You've successfully authenticated",则说明问题已解决;如果仍然显示"ssh: connect to host github.com port 22: Connection timed out",则继续尝试以下命令 - 输入命令:`ssh -T -p 443 git@ssh.github.com` - 检查是否有异常信息显示 3. 配置新的端口: - 打开终端并输入以下命令:`cd ~/.ssh && vim config` - 在编辑器中添加以下内容并保存退出: ``` Host github.com User git Hostname ssh.github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa Port 443 ``` - 重新连接到github.com,看是否问题已经解决 这些方法应该能帮助您解决Ubuntu系统中的"ssh: connect to host github.com port 22: Connection timed out"错误。记得在尝试这些方法之前先备份您的SSH配置文件,以防出现意外情况。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值