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

【Git】配置SSH密钥实现Git操作免密

背景

在使用Git推送代码的时候,会默认需要输入密码。如果经常推送代码,那就需要经常输入密码,比较繁琐。所以Git也提供了免密登录的功能。

Git本身支持两种协议对远程Git仓库进行访问:HTTPS、SSH。两种方式有一定的区别,不过区别不是本博客的重点,就不过多介绍。本文重点介绍通过SSH协议对远程仓库进行访问时,如何配置免密登录

配置免密

生成RSA密钥

打开cmd命令行,输入如下命令生成密钥:

ssh-keygen -t rsa -C "xxx"  # -C后面的内容是注释,可以随便填写

第一使用该命令时,之后会在用户目录下生成.ssh文件夹。其中会有一些文件,包括:id_rsaid_rsa.pub以及其他的文件。id_rsa是私钥,id_rsa.pub是公钥。

将公钥内容上传到Git服务器

将公钥文件中的内容复制,并保存到服务器的~/.ssh/authorized_keys文件中。

配置ssh

现在密钥有了,还需要在本机配置什么时候,用密钥进行免密登录。这里要用到~/.ssh文件夹中的config文件。需要注意,这个文件不是生成的,需要手动创建。创建好后,填写如下信息:

Host 服务器别名HostName 服务器主机名(IP)User 登录用户名IdentityFile ~/.ssh/id_rsa

其中

  • Host服务器别名是指,在使用ssh协议进行通讯的时候,不需要写完整的IP,只需要写别名就可以,比较方便
  • HostName就是服务器实际的IP
  • User是登录的用户名
  • IdentityFile是RSA私钥的路径

这里记录一个我遇到的坑。我之前在SSH的config文件中配置了一次服务器的相关信息。但是之后这个服务器突然搬到另外一个地方去了,IP变了,端口也变了。我之后再使用Git进行推送的时候,因为太久没配置ssh了,忘记了有config这个文件,以为把Git的IP改了就行了。结果死活推送不上去。之后才发现要改SSH的config文件吗,把端口去掉才行。

另外,SSH密钥是全局的,并不局限于在Git中使用。只要计算机通讯用到了SSH协议,都可以使用这个密钥进行免密登录,比如:

  • SSH命令,远程登录到另外一台机器
  • SCP命令,在本机和远程机器之间传输文件
  • Git相关的命令,比如git clone、git push等
http://www.lryc.cn/news/178033.html

相关文章:

  • AI能给百融云带来什么?
  • AI创作系统ChatGPT商业运营版源码+AI绘画/支持GPT联网提问/支持Midjourney绘画+Prompt应用+支持国内AI提问模型
  • vue.draggable拖拽,项目中三个表格互相拖拽的实例操作,前端分页等更多小技巧~
  • 400G DR4 QSFP-DD光模块:数据中心应用全攻略
  • 自动驾驶:路径规划概述
  • vlc将本地文件推流成ts实时流
  • C# 自定义控件库之Lable组合控件
  • 解密防关联指纹浏览器:联盟营销领域的秘密武器
  • asp.net core mvc Razor +dapper 增删改查,分页(保姆教程)
  • 网络安全——自学(黑客)方法
  • 秋招算法岗,面试复盘
  • AI类APP能做什么
  • 计算机毕业设计 基于SSM的垃圾分类管理系统(以医疗垃圾为例)的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 友思特案例|友思特 Ensenso 3D相机:汽车工业自动化的革命性力量
  • 【5G PHY】物理层逻辑和物理天线的映射
  • MySQL如何优雅处理批量新增和更新?ON DUPLICATE KEY UPDATE用它!
  • 网络安全(加密, Hashing, 证书, SSL/TLS等)学习小结
  • 缓冲技术在嵌入式中的应用
  • vscode交叉编译cmake工程,toolchains设置
  • MATLAB算法实战应用案例精讲-【优化算法】季节优化算法(SOA)(附MATLAB代码实现)
  • DevOps持续集成与交付
  • lambda的使用案例(1)
  • nodejs+vue装修公司CRM系统设计elementui
  • 开源博客项目Blog .NET Core源码学习(3:数据库操作方式)
  • QT--Opencv下报错Mat/imwrite/imread找不到文件
  • 风光储一体化能源中心 | 数字孪生智慧能源
  • JavaScript数组分组
  • IEEE PDF eXpress系统报错:TimesNewRoman PS-BoldMT, ItalicMT, PSM
  • 【MATLAB源码-第40期】基于matlab的D*(Dstar)算法栅格路径规划仿真。
  • Pikachu-xxe (xml外部实体注入漏洞)过关笔记