当前位置: 首页 > news >正文

[Git]ssh模式每次提交都要输入密码

问题描述

连接用的ssh,不是https。每次git提交都要输入密码,很麻烦。

原因分析

ssh模式需要在git服务端保存密钥,不然每次都会校验用户的身份。

解决方案

1.生成密钥

进到用户路径下 C:\Users\szx\, 打开bash

生成密钥:

ssh-keygen -t rsa -b 4096 -C "yourmail@emailwebsite.net"
  • -t rsa 指定密钥类型为 RSA。

  • -b 4096 指定密钥长度为 4096 位。

  • -C 后面跟上你的邮箱,用于标识密钥。

2.添加私钥到ssh agent

 启动 ssh-agent:

eval "$(ssh-agent -s)"

添加私钥到ssh agent:

ssh-add "C:\Users\szx\.ssh\id_rsa"

3.添加公钥到git服务器

查看公钥内容:

cat "C:\Users\szx\.ssh\id_rsa.pub"

将公钥内容复制到git服务器。

GitHub: 设置 -> SSH and GPG keys -> New SSH key
GitLab: Profile settings -> SSH Keys -> Add SSH Key
Gitblit: 用户中心 -> SSH Keys -> 添加

注意:是复制公钥!!!不是私钥!

公钥对应文件是id_rsa.pub, 私钥是id_rsa。

公钥内容末尾会有你输入的邮件地址,复制的时候连同邮件地址一起复制。

如果复制的是私钥,git服务器可能会没有响应或报错,因为它识别不了。

钥匙都准备好后,再git push就不需要输入密码了。

相关文章:

  • 【AutoGen革命】多智能体协作系统的架构设计与工程实践
  • Java后端文件类型检测(防伪造)
  • C++.Windows图形
  • DVWA靶场保姆级通关教程--07SQL注入下
  • Open CASCADE学习|由大量Edge构建闭合Wire:有序与无序处理的完整解析
  • Java SE所需工具与常见类型和运算符介绍
  • SWMM在城市排水防涝规划中的实战应用:模型校准、情景模拟与工程决策
  • TCPIP详解 卷1协议 七 防火墙和网络地址转换
  • vue3+three 搭建平面上滚动旋转的几何体
  • 第一章 应急响应-webshell查杀
  • 无线定位之 二 SX1302 网关源码 thread_down 线程详解
  • RAGFlow 初步尝试 (01)
  • Leetcode (力扣)做题记录 hot100(34,215,912,121)
  • MongoDB 操作可能抛出哪些异常? 如何优雅的处理?
  • 全球变暖-bfs
  • matlab计算天线的近场和远场
  • MongoDB使用x.509证书认证
  • Matlab基于PSO-MVMD粒子群算法优化多元变分模态分解
  • 逆向破解:x64dbg
  • Python 处理图像并生成 JSONL 元数据文件 - 灵活text版本
  • “救护车”半路加价?陕西卫健委已介入,记者调查:黑救护车挤占市场
  • 刘国中:持续加强护士队伍建设,更好保障人民身体健康
  • 商务部新闻发言人就中美日内瓦经贸会谈联合声明发表谈话
  • 何立峰:中方坚定支持多边主义和自由贸易,支持世贸组织在全球经济治理中发挥更大作用
  • 专访|西蒙·斯特朗格:以“辞典”的方式讲述二战家族史
  • 富家罹盗与财富迷思:《西游记》与《蜃楼志》中的强盗案