windows通过ssh key连接git服务器

前言

ssh 公钥认证是ssh认证的方式之一。通过公钥认证可实现ssh免密码登陆,git的ssh方式也是通过公钥进行认证的。

在用户目录的home目录下,有一个.ssh的目录,和当前用户ssh配置认证相关的文件,几乎都在这个目录下。

ssh-keygen 可用来生成ssh公钥认证所需的公钥和私钥文件,公钥文件是配置到git服务器上,用来与本地客户端进行ssh认证,客户端只需配置私钥进行匹配即可

使用 ssh-keygen 时,请先进入到 ~/.ssh 目录,不存在的话,请先创建。并且保证 ~/.ssh 以及所有父目录的权限不能大于 711

1.linux使用 git 生成公私钥:id_rsa、id_rsa.pub

1.1 检查是否存在秘钥,通常可以cd ~/.ssh判断是否存在,能进去说明已经存在,就删掉文件夹,重新创建
1.2 使用 ssh-keygen 会在~/.ssh/目录下生成两个文件,不指定文件名和密钥类型的时候,默认生成的两个文件是:id_rsa和id_rsa.pub,分别是私钥和公钥

ssh-keygen -t rsa -C "此处为备注"

之后,会询问你是否需要输入密码。输入密码之后,以后每次都要输入密码。请根据你的安全需要决定是否需要密码,如果不需要,直接回车,通常按三个回车即可,密码为空就行

SourceTree 生成ssh-key

1、打开sourcetree工具-》选项,配置秘钥,如果没有秘钥,可以通过putty key generator生成秘钥
在这里插入图片描述
2、工具-》创建或导入ssh密钥
在这里插入图片描述

3.添加 ~/.ssh/id_rsa.pub 文件内容到 git 服务器里面去
.比如你的 git 服务是 github,那么你需要在 https://github.com/settings/keys 里面添加 SSH key

4、SourceTree 来下载 git 项目
复制你的 git 地址:[email protected]:222d6/test.git
指定本地要克隆远端仓库的路径

在这里插入图片描述
5.名词解释:
1.ssh-keygen 是公钥私钥的非对称加密方式:
1.1.公钥:用于向外发布,任何人都能获取。
1.2.私钥:保存到客户端,用来匹配公钥
2.公钥私钥加解密的原理
2.1.客户端把自己的公钥存放到要链接的远程主机上(相当于我们把自己的 id_rsa.pub 存放到 git 服务器上)
2.2.客户端要链接远程主机的时候,远程主机会向客户的发送一条随机的字符串,客户的收到字符串之后使用自己的私钥对字符串加密然后发送到远程主机,远程主机根据自己存放的公钥对这个字符串进行解密,如果解密成功证明客户端是可信的,直接允许登录,不在要求登录。

猜你喜欢

转载自blog.csdn.net/weixin_43627766/article/details/88049408