git系列文章目录

第八章 git SSH免密登录的使用


文章目录

  • git系列文章目录
  • 前言
  • 一、生成密钥
  • 二、使用步骤
    • 1.使用VSCODE打开.pub文件复制其中的内容
    • 2.打开github或者gitee进入设置选项设置密钥
    • 3.使用密钥
  • 总结

前言

虽然Windows系统提供了凭据功能,但是介绍ssh提交,的免密操作


一、生成密钥

进入当前用户的目录
双击打开或者命令方式

Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop
$ cd ~Apple@DESKTOP-ECLNIU2 MINGW64 ~
$ pwd
/c/Users/AppleApple@DESKTOP-ECLNIU2 MINGW64 ~
$

然后在当前文件夹下创建SSH 密钥

Apple@DESKTOP-ECLNIU2 MINGW64 ~
$ ssh-keygen -t rsa -C 18261897435@139.com
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Apple/.ssh/id_rsa):
Created directory '/c/Users/Apple/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Apple/.ssh/id_rsa
Your public key has been saved in /c/Users/Apple/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:QEZzuGzZzFBRmmp+DSu0o1VXEvxp+0KpKjjrWfONv6M 18261897435@139.com
The key's randomart image is:
+---[RSA 3072]----+
|     .=o++o      |
|     ooo o..     |
|     ..Bo ....   |
|      =o+  o+    |
|     .+ S .. o   |
|     + o =  +    |
|     .O o .o .   |
|    o=.* oo . .  |
|   .=o .E++o .   |
+----[SHA256]-----+Apple@DESKTOP-ECLNIU2 MINGW64 ~
$

此时创建了.ssh文件夹和两个文件

二、使用步骤

1.使用VSCODE打开.pub文件复制其中的内容


2.打开github或者gitee进入设置选项设置密钥


选择SSH公钥

标题随便起,但要方便记忆
输入刚才vscode打开的密钥复制的key到公钥
点击确定

输入密码验证后就可以使用了

3.使用密钥

给SSH地址起一个别名
复制地址

给ssh地址起别名
如下(示例):


Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git remote -v
origin  https://gitee.com/gitee18261897435/git-resp.git (fetch)
origin  https://gitee.com/gitee18261897435/git-resp.git (push)Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git remote add origin_ssh git@gitee.com:gitee18261897435/git-resp.gitApple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git remote -v
origin  https://gitee.com/gitee18261897435/git-resp.git (fetch)
origin  https://gitee.com/gitee18261897435/git-resp.git (push)
origin_ssh      git@gitee.com:gitee18261897435/git-resp.git (fetch)
origin_ssh      git@gitee.com:gitee18261897435/git-resp.git (push)Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$

别名起成功了
创建一个Test100.txt用于演示登录

注意第一次使用免密登录的时候需要输入一个yes

Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git add Test100.txtApple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git commit -m "项目经理添加了一个Test100.txt用于演示SSH_Key登录" Test100.txt
[master 02135f1] 项目经理添加了一个Test100.txt用于演示SSH_Key登录1 file changed, 1 insertion(+)create mode 100644 Test100.txtApple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git push origin_ssh master
The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV88.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Host key verification failed.
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git push origin_ssh master
The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV88.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitee.com' (ED25519) to the list of known hosts.
To gitee.com:gitee18261897435/git-resp.git! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'gitee.com:gitee18261897435/git-resp.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$

因为没有进行远程库拉取,先拉取后再提交

Apple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git pull origin_ssh master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 1), reused 3 (delta 1), pack-reused 0
Unpacking objects: 100% (4/4), 1.35 KiB | 277.00 KiB/s, done.
From gitee.com:gitee18261897435/git-resp* branch            master     -> FETCH_HEAD* [new branch]      master     -> origin_ssh/master
Merge made by the 'ort' strategy.Test2.txt | 1 +1 file changed, 1 insertion(+)create mode 100644 Test2.txtApple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$ git push origin_ssh master
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 581 bytes | 581.00 KiB/s, done.
Total 5 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
To gitee.com:gitee18261897435/git-resp.git7a79c73..a56a9e1  master -> masterApple@DESKTOP-ECLNIU2 MINGW64 ~/Desktop/git basic operation/GitResp (master)
$

检查远程库查看推送成功


总结

ssh的好处是:不用每次都进行身份验证 缺陷:只能针对一个账号

git SSH免密登录相关推荐

  1. Git——SSH免密登录

    一.免密登录   由于win10系统有凭据管理器,所以在使用Https地址的方式推送的时候不需要每次都登录GitHub,但是在其他windows的系统中不是这样,这时我们可以使用SSH的方式推送(pu ...

  2. Git配置SSH 免密登录

    前言:相信大家现在在工作中,都在使用Git吧.众所周知,Git有两种克隆代码的方式: 一种是http,另外一种就是SSH. SSH免密登录,免去了每次登录都输入账号密码的繁琐,但是却需要配置在电脑上. ...

  3. 【Git1】指令,分支,ssh免密登录

    文章目录 1.init/add/commit/pull/push,status/diff/log/reflog,reset/checkout/clone:工缓归 2.分支操作:git branch - ...

  4. ssh免密登录配置方法及配置

    ssh免密登录配置方法及配置 直接上步骤,记我们本机为机器A,而机器B.机器C等是我们的服务器,我们要配置的是A到B.C等的 ssh 免密登录. 1 在机器A上生成秘钥对 ssh-keygen 会得到 ...

  5. linux上ssh免密登录原理及实现

    因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...

  6. linux上怎么实现ssh免密登录

    这里直接写步骤,下面的有兴趣可以看看 1.进入到.ssh目录下 [root@wangjian /]# cd /root/.ssh/ [root@wangjian .ssh]# 2. 执行生成密钥,所有 ...

  7. Git配置免密登录及常用操作的详细教程(基于Gitee平台)

    文章目录 前言 一.SSH免密登录配置 1.安装GIt 2.生成SSH 3.配置 SSH key 4.验证SSH key是否配置成功 二.创建远程仓库 1.登录自己的Gitee账号 2.创建远程仓库 ...

  8. linux 配置免密码登录,Linux - 配置SSH免密登录 - “ssh-keygen”的基本用法

    1 什么是SSH 引用百度百科的说明: SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:它是建立在应用层基础上的安全协议. S ...

  9. 笔记:一台主机上配置多个私钥实现ssh免密登录

    笔记:一台主机上配置多个私钥实现ssh免密登录 一 背景 现有主机已经成功配置了对其他主机的ssh免密登录,在本地已经保存了GitHub的私钥.目前需要在这台主机上克隆GitHub自己已创建仓库,使用 ...

最新文章

  1. JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理
  2. Zookeeper的功能以及工作原理
  3. 汇编语言随笔(16)- 对磁盘进行读写(int 13h 中断例程)和实验 17
  4. android鼠标dpi,对Android 中 px、DPI、dp(dip)、density的理解
  5. SpringBoot禁用命令行参数
  6. spring配置数据源(加载properties文件)
  7. 【转帖】Reporting Service rdl报表,在aspx页面显示一张完整的RDL报表
  8. json/ 发送形式_24/7的完整形式是什么?
  9. 对话华为云专家,摆脱无意义“内卷”
  10. 一次线上事故,让我对MySql的时间戳存char(10)还是int(10)有了全新的认识
  11. 中国晶圆和集成电路(IC)行业市场供需与战略研究报告
  12. 串联和并联拓扑PI控制器
  13. java $字符串替换_Java8字符串替换方法梳理
  14. WebApp实时开源框架Clouda---认识心得
  15. “Spark三剑客”之SparkCore和SparkSql学习笔记(零基础入门)(一)
  16. IDS--入侵检测系统的学习
  17. linux 下如何添加用户、权限
  18. 百度地图配合java 代码制作地图
  19. Spring Framework系统架构
  20. Tomcat的启动与停止

热门文章

  1. ip-guard如何配置加密文件夹和解密文件夹?
  2. ToDoList(2022)
  3. MPU6050初始化失败 错误代码8
  4. 关键词优化的成功案例
  5. 根据url一键爬取前端页面资源文件,恐怖如斯-----小飞兔
  6. 《Sibelius 脚本程序设计》连载(三十六) - 4.6 Folder
  7. Excel批量插入工作表
  8. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.9 滑动条 QSlider
  9. Windows开启winrm服务
  10. PHP-FPM是什么?