Ubuntu系统SSH免密连接Github配置方法

Ubuntu系统SSH免密连接Github配置方法

  • 一、相关介绍
    • 1.1 Ubuntu简介
    • 1.2 Git简介
    • 1.3 Github简介
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、检查本地环境
    • 3.1 检查本地操作系统版本
    • 3.2 检查系统内核版本
  • 四、Git本地环境配置工作
    • 4.1 安装Git工具
    • 4.2 创建项目目录
    • 4.3 配置用户信息
    • 4.4 初始化本地仓库
  • 五、通过SSH连接Github
    • 5.1 安装ssh
    • 5.2 创建密钥文件
    • 5.3 将公钥添加到Github
  • 六、上传项目到Github
    • 6.1 在本地仓库创建项目
    • 6.2 将项目文件保存在暂存区
    • 6.3 将文件保存到本地仓库
    • 6.4 添加远程仓库
    • 6.5 上传项目
    • 6.6 检查项目
  • 七、总结

一、相关介绍

1.1 Ubuntu简介

Ubuntu 是一款流行的开源操作系统,基于 Linux 内核构建,最初由 Mark Shuttleworth 创立的 Canonical Ltd. 在 2004 年发布。Ubuntu 主要面向桌面、笔记本电脑和服务器用户,提供了一个稳定、用户友好且功能丰富的计算环境。

1.2 Git简介

Git 是一个分布式版本控制系统,用于跟踪在软件开发过程中对文件所做的修改。它是由 Linux 的创始人 Linus Torvalds 于 2005 年为了更好地管理 Linux 内核的源代码而创建的。Git 设计的核心理念是为了高效、灵活地处理从小型到大型项目的版本控制。

Git 的主要特点包括:

  • 分布式的版本控制:每个开发者的工作站上都有完整的项目历史记录副本,这意味着开发者可以在没有网络连接的情况下工作,进行提交、分支、合并等操作。
  • 数据完整性和高效性:Git 使用 SHA-1 散列函数来标识系统中的每一个对象,这保证了数据的完整性和一致性。同时,Git 能够高效地处理大型项目,具有快速的性能。
  • 分支和合并:Git 提供了强大的分支管理能力,允许开发者轻松地创建和合并分支,这极大地促进了并行开发。

1.3 Github简介

GitHub 是一个全球最大的分布式版本控制系统和开源代码托管平台,它主要基于 Git 版本控制软件构建。GitHub 提供了一个集中的环境,供软件开发者存储项目代码、跟踪更改、协作开发以及分享开源项目。

核心功能:

  • 代码托管: GitHub 提供了一个地方,开发者可以存储和管理他们的代码仓库,无论是开源项目还是私有项目。
  • 版本控制: 使用 Git 来追踪代码的变化历史,允许用户回滚到以前的状态或查看修改记录。
  • 协作工具: 包括 Pull Requests(拉取请求)和 Issues(问题跟踪),帮助团队成员协同工作,进行代码审查和讨论。
  • 社区: GitHub 是一个庞大的开发者社区,用户可以相互关注、参与讨论、贡献代码和文档,以及发现和参与开源项目。
  • 项目管理: 提供了项目板和里程碑等功能,帮助团队规划和跟踪项目进展。
  • 持续集成/持续部署 (CI/CD): 通过 GitHub Actions 自动化构建、测试和部署流程。
  • 安全和合规: 包括代码扫描、依赖关系审计和合规性工具,以维护代码的安全和质量。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname本地P地址操作系统版本内核版本node版本
ubuntu-001192.168.3.25122.04.1 LTS5.15.0-113-genericv20.10.0

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Ubuntu环境下通过SSH免密连接Github仓库。

三、检查本地环境

3.1 检查本地操作系统版本

检查本地操作系统版本

root@ubuntu-001:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

3.2 检查系统内核版本

检查系统内核版本

root@ubuntu-001:~# uname -r
5.15.0-113-generic

四、Git本地环境配置工作

4.1 安装Git工具

直接执行以下命令,安装git工具。

apt install git -y 

在这里插入图片描述

查看git版本,默认安装版本为2.34.1

root@ubuntu-001:~# git version
git version 2.34.1

4.2 创建项目目录

创建一个测试项目目录

mkdir -p /data/myproject  && cd /data/myproject 

4.3 配置用户信息

  • 配置该git的使用者
 git config --global user.name "jeven"
  • 配置git使用者的邮箱
git config --global user.email "123456@qq.com"
  • 使文本高亮
git config --global color.ui true
  • 查看git配置信息
cat ~/.gitconfig 

在这里插入图片描述

4.4 初始化本地仓库

初始化当前本地仓库

git init 

在这里插入图片描述

五、通过SSH连接Github

5.1 安装ssh

执行以下命令啊,安装SSH。

apt install ssh -y

5.2 创建密钥文件

使用ssh-keygen生成SSH密钥时,程序首先提示确认密钥的保存位置及文件名,通常默认为~/.ssh/id_rsa,按Enter接受即可。接着会让你输入密钥口令,留空则无需密码即可使用密钥。整个过程中,只需一直按Enter接受默认选项。最终会在.ssh目录下生成id_rsa私钥和id_rsa.pub公钥文件。

ssh-keygen -t rsa -C "邮箱地址"

在这里插入图片描述

5.3 将公钥添加到Github

  • 查看并复制本地公钥
cat ~/.ssh/id_rsa.pub

在这里插入图片描述

登陆到GitHub上,右上角小头像->Setting->SSH and GPG keys中,点击new SSH key。

在这里插入图片描述

在这里插入图片描述

将本地的公钥文件复制到key下面,点击“Add SSH key”。

在这里插入图片描述

六、上传项目到Github

6.1 在本地仓库创建项目

在本地仓库创建测试项目

root@ubuntu-001:/data/myproject# mkdir -p ./{aa,bb,cc}
root@ubuntu-001:/data/myproject# ls
aa  bb  cc
root@ubuntu-001:/data/myproject# echo "hello test" > bk.txt

6.2 将项目文件保存在暂存区

执行以下命令,将将项目文件保存在暂存区。

git add .

6.3 将文件保存到本地仓库

将暂存区文件保存在本地仓库

 git commit -m "1.0 master-jeven create item for test  "

在这里插入图片描述

6.4 添加远程仓库

添加自己gitHub的远程仓库,其中仓库地址填写格式为“ git@github.com:Username/Repositories_Name.git”

git remote add origin git@github.com:awakm618/myprojetc.git

6.5 上传项目

执行以下命令,将测试项目上传到Github。

git push -u origin master 

在这里插入图片描述

6.6 检查项目

在Github仓库中,查看刚才上传的项目是否成功。

在这里插入图片描述

七、总结

配置SSH免密码连接对于在Ubuntu系统中使用GitHub具有重要意义,它不仅提升了开发效率,还增强了安全性。通过SSH密钥对进行身份验证,避免了频繁输入密码的繁琐过程,同时由于私钥保存在本地,相比密码认证提供了更好的数据保护。设置SSH免密码登录至GitHub是每个开发者应该掌握的基础技能,它简化了工作流程,确保了代码提交过程的安全与便捷。

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

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

相关文章

STM32被拔网线 LWIP的TCP无法重连解决方案

目录 一、问题描述 二、项目构成 三、问题解决 1.问题代码 2.解决思路 3.核心代码: 四、完整代码 1.监测网口插入拔出任务 2.TCP任务 3.创建tcp任务 4.删除tcp任务 五、总结 一、问题描述 最近遇到一个问题,就是我的stm32设备作为tcp客户端…

AndroidStudio与手机进行无线调试

(一)、前提条件 一部手机一条USB数据线一部电脑手机和电脑连接到同一个 Wifi开启手机的USB调试功能开启手机的无线调试功能 (二)、操作步骤 1、 将手机和电脑用USB数据线连接 2、 打开 终端,输入 adb devices ,查看手机和电脑是否连接成功。如下图: 2、…

Linux驱动开发-06蜂鸣器和多组GPIO控制

一、控制蜂鸣器 1.1 控制原理 我们可以看到SNVS_TAMPER1是这个端口在控制着蜂鸣器,同时这是一个PNP型的三极管,在端口输出为低电平时,蜂鸣器响,在高电平时,蜂鸣器不响 1.2 在Linux中端口号的控制 gpiochipX:当前SoC所包含的GPIO控制器,我们知道I.MX6UL/I.MX6ULL一共包…

Atom - hackmyvm

简介 靶机名称:Atom 难度:简单 靶场地址:https://hackmyvm.eu/machines/machine.php?vmAtom 本地环境 虚拟机:vitual box 靶场IP(Atom):192.168.56.101 跳板机IP(windows 11)&#xff1…

多显示器,如何快速切换电脑显示模式!

​一般在使用多显示器的情况下,可能我们要根据不同的工作需求来动态调整相适应的Windows显示模式,像扩展模式、复制模式、单显示器等模式。调整相应的模式方法也不止一种,下面一起了解下不同的方法如何快速操作实现! 快捷键法(WIN+P) 同时按下键盘徽标键WIN+P,会弹出个选…

微软发布iOS/安卓正式版Designer应用,AI修图功能助力创意设计

一、Microsoft Designer应用正式上线 AITOP100平台获悉,微软一直致力于为用户提供优质的创意工具,此次推出的Microsoft Designer应用正是其在移动端的重要布局。这款应用已正式上线iOS、Android、Windows和网页版本,满足不同用户的需求。微软…

高性能系统架构设计之:多级缓存

前言 为了提高系统的性能,一般会引入“缓存机制”,将部分热点数据存入缓存中,用空间换取时间,以达到快速响应的目的。 其实,缓存的应用远远不止存在于服务层(传统的Redis缓存),从客户…

虚拟试衣人像合成新SOTA!IMAGDressing-v1:ControlNet和IP-Adapter的最佳拍档

文章链接:https://arxiv.org/pdf/2407.12705 github链接:https://imagdressing.github.io/ Demo试用:https://sf.dictdoc.site/ 亮点直击 为商家引入了一项新的虚拟试衣(VD)任务,并设计了一个综合亲和力测量…

最新缺失msvcp140.dll的多种解决方法,有效解决电脑dll问题

msvcp140.dll 是一个关键的动态链接库(DLL)文件,属于 Microsoft Visual C 2015 Redistributable 的一部分。它为使用 Microsoft Visual C 编译的应用程序提供了运行时支持,确保这些应用程序能够正常运行。以下是对 msvcp140.dll 的…

《0基础》学习Python——第十九讲__爬虫\<2>

一、用get请求爬取一般网页 首先由上节课我们可以找到URL、请求方式、User-Agent以及content-type 即:在所在浏览器页面按下F12键,之后点击网路-刷新,找到第一条双击打开标头即可查看上述所有内容,将上述URL、User-Agent所对应的…

ABAP打印WORD的解决方案

客户要求按照固定格式输出到WORD模板中,目前OLE和DOI研究了均不太适合用于这种需求。 cl_docx_document类可以将WORD转化为XML文件,利用替换字符串方法将文档内容进行填充同 时不破坏WORD现有格式。 首先需要将WORD的单元格用各种预定义的字符进行填充…

四个节点即可实现的ComfyUI批量抠图工作流

原文链接:ComfyUI面部修复完全指南 (chinaz.com) 下图就是批量抠图的工作流 虽然工作流很简单,但是我们前提还是需要安装好我们的节点 首先安装我们的抠图节点 安装 BiRefNet 所需依赖:timm,如已安装无需运行 requirements.txt…

苹果电脑crossover怎么下载 苹果电脑下载crossover对电脑有影响吗 MacBook下载crossover软件

CodeWeavers 发布了 CrossOver 24 版本更新,不仅兼容更多应用和游戏,得益于 Wine 9.0 带来的 7000 多项改进,CrossOver 还可以在 64 位系统上运行Windows应用的软件,使得用户可以在Mac系统中轻松安装使用仅支持Windows系统运营环境…

搜维尔科技:【研究】动作捕捉加速游戏开发行业的发展

动作捕捉加速游戏开发行业的发展 Sunjata 的故事始于 2004 年,它将席卷乌干达视频游戏行业,然后席卷全世界。但首先,Klan Of The Kings 的小团队需要工具来实现他们的愿景。 漫画家兼非洲民间传说爱好者罗纳德卡伊马 (Ronald Kayima) 在将…

idea navigate mysql生成实体类

参考:https://blog.51cto.com/u_16175427/7251120 使用idea导航MySQL生成实体类 1、在IDEA的顶部菜单中选择View -> Tool Windows -> Database 2、找到表,右键表Scripted Extensions -> Generate POJO...

6. dolphinscheduler-3.0.0伪集群部署

环境说明: 主机名:cmc01为例 操作系统:centos7 安装部署软件版本部署方式centos7zookeeperzookeeper-3.4.10伪分布式hadoophadoop-3.1.3伪分布式hivehive-3.1.3-bin伪分布式clickhouse21.11.10.1-2单节点多实例dolphinscheduler3.0.0单节…

ELK kibana查询与过滤

ELK kibana查询与过滤 1、通过布尔操作符 AND 、 OR 和 NOT 来指定更多的搜索条件(注意:这AND、OR、NOT必须大写)。例如,搜索message包含服务层关键词并且日志级别为INFO的条目,您可以输入 message:“服务层” AND level:“INFO”。 2、要搜…

KU FPGA FLASH boot失败debug

原因 新板子回来后,测试flash 烧录正常,但是无法BOOT,此时SPI设置为X4模式,使用内部时钟,速度90M。烧录过程不报错,校验也正常。 FLASH理论支持最大速度108M,90M应该还好。另外板卡预留了EMCCLK外部时钟模…

Python+Flask+MySQL/Sqlite的个人博客系统(前台+后端管理)【附源码,运行简单】

PythonFlaskMySQL/Sqlite的个人博客系统(前台后端管理)【附源码,运行简单】 总览 1、《个人博客系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 管理员登录2.2 程序主页面2.3 笔记新增界面2.4 文章新增界面2.5 文章/笔记管理界面2…

分享一个 .NET EF 6 扩展 Where 的方法

前言 Entity Framework 6(EF 6)中的 Where 方法用于筛选数据库中的数据并返回符合条件的结果,但 Where 方法只能进行简单的筛选条件,例如相等、大于、小于等简单条件,如果需要处理更复杂的逻辑条件,则需要…