windows下生成SSH key连GitHub

前言

使用SSH key连接GitHub时可免去输入用户名和密码操作。本文使用gitforwindows客户端完成。

一、SSH是什么?

ssh是一种远程登录服务,登陆后即可实现对服务器的操作(如xshell,git服务器ssh登录只给你控制仓库上传和下载)。ssh需要生成私钥和公钥密钥对,这是一种加密方式,它给出一对密码,私钥加密,公钥可以解密,公钥加密,私钥可以解密,其中,公钥是可以公开发行的,别人用你的公钥加密了数据,这个密文数据发给你,你就能用私钥进行解密。然后你拿到对方的公钥,同样的步骤,你就可以发加密后的信息给他。这就达成了加密通信。理论上是很难破解的,只要你藏好私钥 。                                                                                       

二、如何配置

2.1 在gitbash客户端使用注册github时用的邮箱生成密钥

Administrator@fuph MINGW64 /

$ cd ~/.ssh

Administrator@fuph MINGW64 ~/.ssh

$ $ssh-keygen -t rsa -C "your_email@example.com"

Generating public/private rsa key pair.

Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/c/Users/you/.ssh/github_rsa。接着,根据提示,你需要输入密码和确认密码(说到这里,如果你很放心,其实可以不用密码,就是到输密码的地方,都直接回车,所以每次push就只管回车就行了。所谓的最安全的密码,就是没有密码  – –  哈哈)。

操作完成后会生成私钥(id_rsa)、公钥(id_rsa.pub)两个文件,我们使用cat命令查看id_rsa.pub文件内容,并将输出的内容拷贝用于后面放到github的ssh配置。这里值得注意的是,不需要赋值后面的邮箱内容

windows下生成SSH key连GitHub

2.2 在GitHub账户中添加你的公钥

登陆GitHub网站,进入SSH Key配置界面

windows下生成SSH key连GitHub

windows下生成SSH key连GitHub

2.3测试连接

使用ssh -T git@github.com命令测试连接

windows下生成SSH key连GitHub

三、遇到的问题

1.The authenticity of host 'github.com (13.250.177.223)' can't be established

windows下生成SSH key连GitHub

(1)问题原因1:新生成SSH Key(密钥)时,进行git clone或git push时,经常会出现该错误。

           解决方法:首先查看自己用户目录下的.ssh目录下是否有三个密钥文件。若只有两个的话,输入yes回车之后,会生成一个known_hosts文件。若是三个的话,请看下面的原因。

windows下生成SSH key连GitHub

   (2)问题原因2:github上的项目没有与本地仓库相关联。

          解决方法:重新进行git remote即可,若问题未解决,请看原因3。

 (3)问题原因3:SSH Key不对。

          解决方法:①cat ~/.ssh/id_rsa.pub:查看ssh是否是自己的(若不是,SSH Key的问题,进行②③操作)。

                            ②在git仓库同目录删除.ssh文件夹(隐藏文件夹)。

                            ③重新生成ssh key :SSH-keygen -t rsa  -C  "117@qq.com"。

                            ④在生成的SSH Key复制到github上,新建一个SSH连接即可解决问题。

参考

1.github SSH配置:SSH是什么

2.使用SSH密钥连接Github【图文教程】

上一篇:《奇点来临》——人工智能的局限性


下一篇:OSS生成m3u8文件动态签名