Github配置ssh key步骤
不要看内容太长,因为插了好多图片,只是为了每个步骤都清清楚楚 😎
每当新解决一个问题的时候就尽量把他记录下来,因为过不了多久就会忘记,回过来看自己的文章记录是常常有的事情
前言——契机
今天把Github配置ssh key的起因是因为在github上下载别人的项目,之前就只是会用Download ZIP
这个方法(如下图),直到git找到了我(别笑话我,我都说了我真的是纯纯纯小白😁)
然后利用两只小猫科学上网了一下,直接在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 config
或vim ~/.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
欧耶,成功了文章来源:https://www.toymoban.com/news/detail-823917.html
5.愉快在gitee上下载吧
利用git clone git@gitee.com:**/***.git
语句下载gitee上的项目文章来源地址https://www.toymoban.com/news/detail-823917.html
到了这里,关于Github,gitee配置同一个ssh key步骤+ssh: connect to host github.com port 22: Connection timed out解决方案(纯小白教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!