Git使用ssh密钥推送代码到仓库/拉取代码

简介: Git使用ssh密钥推送代码到仓库/拉取代码

在使用gitee或者github的时候,除了通过账户密码认证以访问仓库,更加推荐和安全的做法还是使用ssh密钥。

1,本地生成ssh密钥对

安装完成git之后打开git bash或者命令行,输入命令:

ssh-keygen -t rsa -C"密钥名"

密钥名自己取,可以是邮箱也可以是随意的命名。

然后连按三次回车,密钥对就生成了!

C:\Users\你的用户名\.ssh目录下可以看到生成的密钥文件:

网络异常,图片无法展示
|

2,添加公钥到gitee/github上面

首先找到我们刚刚生成的公钥文件id_rsa.pub,在C:\Users\你的用户名\.ssh目录下,使用文本编辑器打开id_rsa.pub文件并复制里面全部内容,这些内容即为公钥内容,需要配置到gitee或者github里面。

网络异常,图片无法展示
|

下面分别讲解gitee和github里面配置。

(1),gitee

在个人账户设置里面找到ssh公钥:

网络异常,图片无法展示
|

网络异常,图片无法展示
|

标题随便,公钥内容就是我们刚刚复制的公钥文件内容。

确定添加即可。

以后git clone或者remote add项目的地址就用项目ssh地址代替:

网络异常,图片无法展示
|

(2),github

其实方法差不多,在账户设置(settings)-SSH and GPG keys这一栏:

网络异常,图片无法展示
|

网络异常,图片无法展示
|

点击new ssh keys:

网络异常,图片无法展示
|

以后就使用项目ssh地址代替clone/remote地址:

网络异常,图片无法展示
|

配置ssh密钥,第一次执行推送或者拉取命令时可能会出现the authenticity of host 'xxx.com (xxx.xxx.xxx.xxx)' can't be established.的提示,这个不影响使用,根据提示,直接输入yes然后回车即可。下一次执行命令就不会有这样的提示了。

3,如果换了电脑仍然想使用原来的公钥

如果说换了一台电脑,那就不能使用原来的公钥push/pull了,除非重复步骤1,2在新电脑上生成新的密钥对。

不过我们不需要这样做,其实把原来的电脑上的密钥文件拷贝到U盘或者一些移动介质里面,再放到新电脑的密钥位置即可。

把原来生成密钥的电脑上的密钥,即位于C:\Users\你的用户名\.ssh的两个文件id_rsaid_rsa.pub,拷到新电脑的C:\Users\新电脑用户名\.ssh目录下即可。linux系统拷贝到/home/你的用户名/.ssh文件夹下即可,用户文件夹下没有.ssh文件夹就创建一个。

说白了只要把公私钥文件放在用户目录下的.ssh文件夹下即可。

4,提示远程密钥变化报错问题解决

有时我们在推送/拉回代码时,可能会出现以下情况导致我们操作失败:

网络异常,图片无法展示
|

这是由于验证远程证书失败导致。

我们还是找到用户文件夹中的.ssh文件夹,即位于C:\Users\你的用户名\.ssh下,找到其中的known_hostsknown_hosts.old,将这两个文件删除即可。

然后再重新操作就不会出现这个问题了!

known_hosts文件是用于记录远程仓库的地址和公钥的文件

相关文章
|
16天前
|
开发工具 git
git篇3:idea中创建项目并提交到远程Git仓库
git篇3:idea中创建项目并提交到远程Git仓库
|
1月前
|
开发工具 git C++
【git 实用指南】git下载、拉取 代码
【git 实用指南】git下载、拉取 代码
174 2
|
2月前
|
存储 前端开发 开发工具
Git Hooks实战:提交前检查修改文件中是否包含调试代码
Git Hooks实战:提交前检查修改文件中是否包含调试代码
47 0
|
2月前
|
Linux 网络安全 开发工具
Git拉取代码的完整示例操作
Git拉取代码的完整示例操作
65 0
|
1月前
|
开发工具 git
【git 实用指南】git 上传代码
【git 实用指南】git 上传代码
34 2
|
1月前
|
开发工具 git
Git -- 代码上传错误 error: failed to push some refs to ‘git@gitee.com:JMFive/uni-shop2.git‘
Git -- 代码上传错误 error: failed to push some refs to ‘git@gitee.com:JMFive/uni-shop2.git‘
|
6天前
|
开发工具 git
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
15 0
|
9天前
|
数据可视化 开发工具 git
Git代码版本管理入门
Git代码版本管理入门
|
27天前
|
开发工具 C语言 数据安全/隐私保护
git提交代码到远端仓库的方法详解
git提交代码到远端仓库的方法详解
|
30天前
|
算法 开发工具 git
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
92 0