windows下生成SSH key连GitHub

简介: 使用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配置。这里值得注意的是,不需要赋值后面的邮箱内容

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

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

2.3测试连接

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

三、遇到的问题

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

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

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

  (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【图文教程】

目录
相关文章
|
3月前
|
存储 安全 Shell
windows 操作系统隐藏文件夹 .ssh 的作用
windows 操作系统隐藏文件夹 .ssh 的作用
66 0
|
3月前
|
存储 安全 Shell
windows 系统 c 盘 .ssh 文件夹里的 known_hosts 文件的作用
windows 系统 c 盘 .ssh 文件夹里的 known_hosts 文件的作用
80 0
|
3月前
|
安全 Shell 网络安全
windows 系统 c 盘 .ssh 文件夹里的 id_rsa 文件的作用
windows 系统 c 盘 .ssh 文件夹里的 id_rsa 文件的作用
42 0
|
3月前
|
安全 算法 网络安全
windows 系统 c 盘 .ssh 文件夹里的 id_rsa.pub 文件的作用
windows 系统 c 盘 .ssh 文件夹里的 id_rsa.pub 文件的作用
45 0
|
2天前
|
机器学习/深度学习 Linux 网络安全
ssh远程访问windows系统下的jupyterlab
ssh远程访问windows系统下的jupyterlab
13 3
|
3天前
|
算法 网络安全
Unable to negotiate with 127.0.0.1 port 29215: no matching host key type found. Their offer: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha> 解决
【5月更文挑战第5天】Unable to negotiate with 127.0.0.1 port 29215: no matching host key type found. Their offer: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha> 解决
16 7
|
11天前
|
弹性计算 运维 Shell
基于key验证多主机ssh访问
【4月更文挑战第30天】
22 1
|
2月前
|
存储 弹性计算 算法
SSH学习(三)- SSH协议中的Public Key Algorithm
在SSH协议中,有两个地方涉及到公钥算法,分别是: 1. 服务端认证:服务端在进行密钥协商的时候证明自己身份,防止中间人攻击,此时为SSH-TRANS协议发生的事情; 2. 客户端认证:客户端通过PublicKey方式证明自己身份,完成SSH登录认证,此时SSH-USERAUTH发生的事情; 这两种情况下的公钥算法使用的是同一个概念,接下来本文将主要基于PublicKey公钥认证方式,学习对应的内容。
56 1
SSH学习(三)- SSH协议中的Public Key Algorithm
|
3月前
|
网络安全 数据安全/隐私保护
如何使用ssh key免密码登录服务器?
如何使用ssh key免密码登录服务器?
|
3月前
|
网络安全
github或gitee配置ssh
github或gitee配置ssh
24 0