Github,gitee配置同一个ssh key步骤+ssh: connect to host github.com port 22: Connection timed out解决方案(纯小白教程)

Github配置ssh key步骤

不要看内容太长,因为插了好多图片,只是为了每个步骤都清清楚楚 😎

每当新解决一个问题的时候就尽量把他记录下来,因为过不了多久就会忘记,回过来看自己的文章记录是常常有的事情

前言——契机

今天把Github配置ssh key的起因是因为在github上下载别人的项目,之前就只是会用Download ZIP这个方法(如下图),直到git找到了我(别笑话我,我都说了我真的是纯纯纯小白😁)
Download ZIP方法
然后利用两只小猫科学上网了一下,直接在git上利用 git clone https://github.com/****/****.git语句进行克隆复制到自己的电脑上,but 克隆一些库的时候总是失败(见下图),我不知道原因。
在这里插入图片描述
利用chatgpt问了一下,看来是和网络有关系,可能是因为文件太大,时间太长,网络一不好就断掉了?不知道啊,但这一会一错误真的很让人难过啊,就想其他方法会怎么样子的呢(并不是说其他方法好哈,就是纯属不知道,多试试)
在这里插入图片描述
就参考这篇文章进行配置,里面还有对SSH的原理介绍,但有些解释,我明明每个字都认识,连起来是看不懂一点。看完我的理解是:要经过你电脑的同意去操作下载?所以要把你电脑产生的钥匙放在github上,每次访问的时候都有钥匙,大门永远为他敞开,除非哪天我把钥匙拿走了?(个人理解哈,反正能用就行)

超详细步骤

第一步:检查本地主机是否已经存在ssh key(看看有没有钥匙啊)

安装Git后如您所见有三个**(不知道叫啥hh),打开Git Bash,在$后面键入下述语句, 是为了看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
在这里插入图片描述

cd ~/.ssh
ls
  • 不存在时的情况
    在这里插入图片描述
  • 存在时的情况
    在这里插入图片描述

第二步:生成ssh key(既然不存在钥匙,我们就生成钥匙)

键入以下代码,这里xxx是你的邮箱,要不然会不成功的,执行后一直回车即可,成功的话如下图

ssh-keygen -t rsa -C "xxx@xxx.com"

在这里插入图片描述

第三步:获取ssh key公钥内容(id_rsa.pub)(获取生成的钥匙呀)

执行以下语句

cd ~/.ssh
cat id_rsa.pub

然后复制生成的结果,把从ssh-rsa开始复制,一直复制到你的邮箱结束
在这里插入图片描述

第四步:Github账号上添加公钥(把钥匙告诉他呀)

进入自己账号下的Setting
在这里插入图片描述然后点击SSH and GPG keys, 再点击New SSH key添加
在这里插入图片描述
自己起个名,粘贴上面的内容,然后添加
在这里插入图片描述

第五步:验证是否设置成功

上面推荐的参考文章里写的验证成功的情况,要是像咱这种啥也不会还出错的情况可咋办啊
利用以下语句进行验证

ssh -T git@github.com
  • 成功情况
    在这里插入图片描述

  • 非成功情况(咱就是说自己)
    在这里插入图片描述

第六步:未成功,出错ssh: connect to host github.com port 22: Connection timed out解决方案

把搜的内容都差不多看来一遍,一般都是说有两个解决方案,我的解决方案是里面的第二个,第一个给人的感觉是退而求其次,治标不治本的感觉(纯属自己感觉hhh),这个方法有很多可以参考的,有1,还有github官方的(其实都一样)

1.分析原因

出错内容大致意思是端口22的问题,错误提示的是连接github.com的22端口被拒绝了。解决方案是换个端口443端口,这个分析的也不错

ssh: connect to host github.com port 22: Connection timed out
2.先测试可用性

22端口可能被防火墙屏蔽了,可以尝试连接GitHub的443端口,先测试是否能用,最后有个Hi wuhui102! You've successfully authenticated....说明能用

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

在这里插入图片描述

3.编辑.ssh文件下的config 文件

没有这个文件就建一个,这里的config文件,注意是文件,不是文件夹,这个文件没有任何类型,就是config!!!
这篇文章让我顿悟
在这里插入图片描述
我没有用其他文章说的cd ~/.ssh,vim configvim ~/.ssh/config语句,我直接建个名称为config、无任何类型的文件,用记事本打开,然后将以下语句复制进去

Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
  • 失败的尝试——以下图片是我用vim ~/.ssh/config语句,把语句复制进去的过程,但没成功(如果您成功了,可以告诉我怎么成功的嘛的😊)
  • 在这里插入图片描述
4.最后测试

在保存上述的config 文件后可以进行测试,用以下语句进行测试

ssh -T git@github.com

显示Hi wuhui102! You've successfully authenticated, but GitHub does not provide shell access.!!!买噶,家人们,终于好了!
在这里插入图片描述

5.愉快在GitHub下载了

接着就可以用git clone git@github.com:***/***.git语句进行下载了,只是都要注意,选择项目地址的时候跟之前http的不一样,现在要选择ssh的。在你要下载的文件夹里面,右击Open Git Bash here
在这里插入图片描述
在这里插入图片描述

Gitee和GitHub配置同一个ssh key!!

之前我们用一个邮箱生成了一个密匙,因为我的github号和gitee号是连着的,都是用一个邮箱,晚上对github和gitee增加密匙大多都是用两个邮箱生成两个密钥,例如,还看到一个设置一个全局邮箱和用户名,然后再生成ssh的时候没有指定邮箱,生成的无指定邮箱的密钥共同用于GitHub和Gitee见于此
我的情况是,已经用一个邮箱生成一个密钥,如我上述所见,现在我想用这个密钥同样也用于gitee,这样我就同样可以利用git clone git@gitee.com:**/***.git语句下载gitee上的项目,解决方案参考这个

1.改变config文件

由原先的只有github的添加了giteed的
在这里插入图片描述
完整语句如下

#GitHub
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

# gitee
Host git.oschina.net
User git
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

2.再次查看生成的密钥内容

cat ~/.ssh/id_rsa.pub

你依旧会看到前面生成的密钥
在这里插入图片描述

3.重复步骤,将显示的SSH公钥复制粘贴到Gitee中添加设置

补充下,标题命名是为了区分不同电脑设备,你看到这个名称能区分出来是哪台电脑的就可以
在这里插入图片描述

4.测试连接

上面我们用 ssh -T git@github.com语句对github进行测试,现在把github换成gitee就可以对gitee进行测试(看你的密钥没有生效,有没有将你的电脑和gitee连接起来,看你是不是可以正常利用git下载gitee上面的东西了)

 ssh -T git@gitee.com
 ssh -T git@github.com

欧耶,成功了
在这里插入图片描述

5.愉快在gitee上下载吧

利用git clone git@gitee.com:**/***.git语句下载gitee上的项目
在这里插入图片描述

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
问题描述中提到了在使用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配置文件,以防出现意外情况。希望对您有所帮助!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值