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文件是用于记录远程仓库的地址和公钥的文件

相关文章
|
3月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
350 103
|
3月前
|
安全 开发工具 git
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
465 5
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
|
4月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
368 20
|
6月前
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
496 2
|
5月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
215 0
|
5月前
|
安全 Linux 网络安全
Linux系统初步设置本地Git环境和生成SSH密钥的步骤。
现在您的Linux系统已经配置好了Git环境,并创建并添加了SSH密钥,可以安全地与远端仓库进行交互,无论是克隆、推送还是拉取操作。此过程确保了数据传输的安全并使版本控制流程更为顺畅。使用Git时应考虑定期更新并管理您的凭据,以确保安全性。
765 0
|
8月前
|
JavaScript 前端开发 持续交付
实际工作中 Git Commit 代码提交规范是什么样的?
实际工作中 Git Commit 代码提交规范是什么样的?
752 7
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
894 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
8月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
9月前
|
Shell 开发工具 git
解决git bash报错:在仓库中检测到可疑的所有权
总的来说,解决“在仓库中检测到可疑的所有权”的报错,关键在于理解和调整文件或目录的所有权。只要我们正确地设置了文件或目录的所有权,那么我们就可以避免这种问题,让Git Bash正常工作。
373 22