使用SSH推拉Github代码


快速使用

  1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com 创建ssh密钥(一直回车,不要指定目录,不要设置密码)
  2. 将生成的 ~/id_ras.pub 中的内容复制到Github对应位置即可

1.SSH简介

SSH(Secure Shell)是一种用于在网络上安全地进行远程登录,文件传输或执行命令的协议。它通过加密通信的方式,保护了用户的身份验证信息和数据传输,防止被中间人攻击或窃听。

2. 如何使用SSH?

2.1 先看看本地是否已经创建过ssh密钥

键入命令: ls -al ~/.ssh ( 查看用户根目录下的 .ssh 文件夹中的内容), 是否包含以下中的一种:

id_rsa.pub
id_ecdsa.pub
id_ed25519.pub

如果存在任意一个,则说明已经创建过密钥,你可以删除重新创建,也可以将文件中的内容( 其实就是公钥 ) 直接复制到Github的SSH Key中, 如果该密钥没有密码,你就可以直接使用。

2.2 自己创建一个SSH的密钥对

键入密令:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
在这里插入图片描述

命令执行后,在 ~/.ssh/目录下将生成 id_rasid_ras.pub 两个文件, 其中id_ras.pub的内容就是密钥中的公钥

如果你的系统包含了新算法,也可以使用 ssh-keygen -t ed25519 -C "your_email@example.com" , 这将生成 id_ed25519.pub

2.3 将生成的公钥内容放置在Github上

登录你的Github账号, 点击 头像 -> Settings -> SSH and GPG keys -> new SSH key 执行创建
在这里插入图片描述

2.4 测试是否可用

  • 选取你的Github上的任意项目,复制其SSH项目链接
  • 本地开启命令行窗口 ,键入命令 git clone git@github.com:username/ProductName.git, 如果拉取成功,则说明配置完成!
  • 如果在2.2步骤中,创建密钥时设置了密码,则每次拉取项目时,需要输入密钥的密码才可以

3. SSH代理,管理密钥的密码

如果你在创建密钥时设置了密码,又不想每次拉取工程时都进行密码输入,可以将密码交由SSH的代理 ssh-agent来管理。

3.1 ssh-agent如何管理密钥?

第一步
打开命令行窗口,键入 eval "$(ssh-agent -s)"
该命令用于启动 SSH 代理,并将相关的环境变量设置在当前 shell 会话中,以便于后续的密钥管理

第二步
键入 ssh-add -K ~/.ssh/id_rsa
将SSH的私钥添加进SSH代理中 ,首次添加时需要输入 设置的密钥的密码

后续在此命令行窗口中,再去拉取代码时,将不需要再输入密钥的密码了

3.2 如果我重新开启一个命令行窗口, 则需要再次执行上述流程,如果简化?

将下述命令直接添加进入 ~/.zshrc 中,这样每次打开命令行窗口时,这两行命令都将先执行,也就不再需要手动输入了

eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/id_rsa

id_rsa 如果和你的命名不同,需要替换为你的密钥文件的名称


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/501474.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java学习笔记------接口

接口 接口就是一种规则,对行为的抽象 定义和使用接口 用关键字interface来定义,public interface 接口名{} 接口不能实例化 接口和类之间是实现关系,通过impls关键字表示 public class 类名 implements 接口名{} 接口的子类(实现类&am…

【C++】AVL树详解

目录 一、AVL树的概念 二、AVL树节点的定义 三、AVL树的操作 3.1 AVL树的平衡因子 3.2 AVL树的插入 3.3 AVL树的旋转 3.4 AVL树的验证 四、AVL树的完整代码 上一篇已经对关联式容器set/map/multiset/multimap进行了简答的介绍,大家可能发现它们有一个共同点&…

js滚动table动画

requestAnimationFrame()告诉浏览器你希望执行一个动画,,并且要求浏览器在下次重绘之前调用指定的回调,,更新动画。。。 请求动画帧,,也称帧循环,,, 改api能以浏览器的显…

基于ssm旅社客房收费管理系统+vue

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

如何选择合适的幻兽帕鲁服务器CPU核心数和内存大小,避免丢包和延迟高?

根据幻兽帕鲁服务器的实际案例分析选择合适的CPU核心数和内存大小以避免丢包和延迟高,首先需要考虑的是服务器的性能需求。幻兽帕鲁服务器推荐使用4核CPU和16GB内存,建议使用32GB以上的内存才能稳定运行。这表明对于幻兽帕鲁这样的游戏服务器来说&#x…

珠宝店如何利用微信管理系统提高效率和竞争力?

珠宝店可以利用微信管理系统来提高自身的业务效率和客户满意度。以下是微信管理系统在珠宝店中的应用: 1. 客户管理:珠宝店可以将客户导入微信,通过微信管理系统对客户进行管理。可以对客户进行标签管理,了解客户的购买偏好和需求…

JS api基础初学

轮播图随机版 需求:当我们刷新页面,页面中的轮播图会显示不同图片以及样式 分析:①:准备一个数组对象,里面包含详细信息(素材包含) ②:随机选择一个数字,选出数组对应…

IGCSE-Physics-Chapter10-课堂总结(编辑中)

10.2-Specific heat capacity(比热容) Energy and temperature Internal energy(内能) includes both the kinetic energy of the particles and chemical potential energy of the bonds between them. Energy and temperature are not the same thing.The internal energy…

excel导入标准化

excel导入较导出还是复杂一些,一般分为三个步骤.市面上低代码平台可以将常用的操作固化,并且形成收益,这也是挺好的。我将我的一些总结分享到网上也是我自己乐意的。毕竟尊重技术的还是搞技术的自身,一般企业老板并不太关心技术代…

期货开户始终坚持自己的交易系统

做期货其实很简单,赚钱的技术重复做!期货交易中最重要的是什么?就是坚定自己的交易理念。小编为大家介绍。 1、市场用最朴实无华的的现实告诉了我们颠扑不破的真理:投资市场永恒的规律是90%的人都亏损的规律,任何人都…

windows安装部署node.js以及搭建运行第一个Vue项目

一、官网下载安装包 官网地址:https://nodejs.org/zh-cn/download/ 二、安装程序 1、安装过程 如果有C/C编程的需求,勾选一下下图所示的部分,没有的话除了选择一下node.js安装路径,直接一路next 2、测试安装是否成功 【winR】…

Flutter中Future和Stream关系

Future和Stream类是Dart异步编程的核心。 Future 表示一个不会立即完成的计算过程。与普通函数直接返回结果不同的是异步函数返回一个将会包含结果的 Future。该 Future 会在结果准备好时通知调用者。 Stream 是一系列异步事件的序列。其类似于一个异步的 Iterable,…