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

相关文章
|
8天前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
110 68
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
11天前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
2月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
78 2
|
3月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
201 1
git学习三:git使用:删除仓库,删除仓库内文件
|
3月前
|
开发工具 git
git如何修改提交代码时的名字和邮箱?
git如何修改提交代码时的名字和邮箱?
352 4
|
3月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
116 4
|
3月前
|
Java Linux 开发工具
IDEA中git提交前如何关闭code analysis以及开启格式化代码
【10月更文挑战第12天】本文介绍了在 IntelliJ IDEA 中关闭代码分析和开启代码格式化的步骤。关闭代码分析可通过取消默认启用检查或针对特定规则进行调整实现,同时可通过设置 VCS 静默模式在提交时跳过检查。开启代码格式化则需在 `Settings` 中配置 `Code Style` 规则,并通过创建 Git 钩子实现提交前自动格式化。
987 3
|
3月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
160 4
|
3月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
470 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
4月前
|
开发工具 git
IDEA更改远程git仓库地址
【9月更文挑战第27天】本文介绍了两种在IntelliJ IDEA中更改远程Git仓库地址的方法:一是通过图形界面,在VCS设置中直接修改;二是通过IDEA内置的命令行工具使用`git`命令进行更改。具体步骤包括从版本控制菜单进入项目设置、修改远程仓库URL,以及使用`git remote set-url`命令更新仓库地址,并验证修改结果。这些方法适用于项目迁移或更换仓库地址的情况。
1017 6