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

news2024/11/23 17:07:43

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.coloradmin.cn/o/1936420.html

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

相关文章

scp免密复制文件

实现在服务器A和服务器B之间使用scp命令免密互相传输文件 1. 在服务器A中免密复制到服务器B 1.1 生成服务器A的公钥私钥 #在服务器A中执行 ssh-keygen -t rsa -P ""命令执行完毕会在服务器A的 ~/.ssh 目录下生成两个文件:id_rsa 和 id_rsa.pub 1.2 拷…

网络爬虫入门(学习笔记)

爬取网页源代码 抓取百度首页的HTML源代码,并将其保存到一个名为baidu.html的文件中。打开这个文件,可以看到一个和百度首页一模一样的页面。 from urllib.request import urlopen# 发送请求并获取响应 response urlopen("http://www.baidu.com&q…

windows中使用Jenkins打包,部署vue项目完整操作流程

文章目录 1. 下载和安装2. 使用1. 准备一个 新创建 或者 已有的 Vue项目2. git仓库3. 添加Jenkinsfile文件4. 成功示例 1. 下载和安装 网上有许多安装教程,简单罗列几个 Windows系统下Jenkins安装、配置和使用windows安装jenkins 2. 使用 在Jenkins已经安装的基础上,可以开始下…

【游戏/社交】BFS算法评价用户核心程度or人群扩量(基于SparkGraphX)

【游戏/社交】BFS算法评价用户核心程度or人群扩量(基于SparkGraphX) 在游戏和社交网络领域,评估用户的核心程度或进行人群扩量是提升用户粘性和拓展社交圈的关键。广度优先搜索(BFS)算法以其在图结构中评估节点重要性…

WebRTC通话原理(SDP、STUN、 TURN、 信令服务器)

文章目录 1.媒体协商SDP简介 2.网络协商STUN的工作原理TURN工作原理 3.信令服务器信令服务器的主要功能信令服务器的实现方式 1.媒体协商 比如下面这个例子 A端与B端要想通信 A端视频采用VP8做解码,然后发送给B端,B端怎么解码? B端视频采用…

使用vscode搜索打开的文件夹下的文件

右键空白处打开命令面板 摁一次删除键,删除掉图中的大于号 这样就能够找到例化的模块,文件具体在哪个位置,然后打开了

pdf怎么压缩的小一点?PDF压缩变小的6种方法(2024全新)

pdf怎么压缩的小一点?首先,PDF文件可以进行压缩。职场文档传阅还是比较建议PDF压缩,PDF文件可以无障碍访问,保持原始文本、图像和表格,无需担心展示效果差异等等优势,成为我们日常工作中不可或缺的一部分。…

Grid Search:解锁模型优化新境界

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

8、添加第三方包

目录 1、安装Django Debug Toolbar Django的一个优势就是有丰富的第三方包生态系统。这些由社区开发的包,可以用来快速扩展应用程序的功能集 1、安装Django Debug Toolbar Django Debug Toolbar位于名列前三的第三方包之一 这是一个用于调试Debug Web应用程序的有…

win_vscode_wsl_ubuntu教程

文章目录 win_vscode_wsl_ubuntu教程 win_vscode_wsl_ubuntu教程 在启用或关闭Windows功能处开启适用于Linux的Windows子系统和虚拟机平台,可能会需要重启电脑 设置wsl # 将wsl2设置为默认版本 C:\Users\Administrator>wsl --set-default-version 2 有关与 WS…

PhantomJs将html生成img|pdf

PhantomJS PhantomJS是一个可编程的无头浏览器,‌它基于WebKit内核,‌通过JavaScript API进行脚本化操作,它对各种web标准有快速和原生化的支持,包括DOM处理、CSS选择器、JSON、Canvas和SVG。‌无头浏览器指的是一个完整的浏览器内…

QT反射内存读写操作

反射内存技术适用于通过以太网、光纤通道或其他串行网络连接计算机或可编程逻辑控制器的应用,尤其在实时交互和高通信要求的系统中表现突出。虽然价格较高,但其易用性和性能优势带来了显著回报。反射内存能够在微秒级内将计算机的内存副本分发到整个网络…

Element UI DatePicker选择日期范围区间默认显示前一个月和本月

要求&#xff1a;点击el-date-picker选择时间范围时&#xff0c;默认展开当月和上个月。 但是Element UI的组件默认展开的是本月和下一个月&#xff0c;如下图所示&#xff1a; 改为 <span click"changeInitCalendarRange"><el-date-picker v-model"r…

QT获取电脑网卡IP等信息

文章目录 一、背景信息二、代码实现 一、背景信息 电脑有一个或者多个网卡&#xff0c;如下图所示&#xff1a; 一个网卡又可以配有多个IP地址&#xff0c;包括 IPv4 和 IPv6 地址&#xff1a; 二、代码实现 以下代码实现了查找电脑所有网卡&#xff0c;并获取某个网卡的 IP …

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

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

ubuntu源码安装Odoo

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo具有非常多的安装方式&#xff0c;除了我最爱用的 apt-get install&#xff0c;我们还可以使用git拉取Odoo源码进行安装。 本次示例于ubuntu20.04 Desktop上进行操作&#xff0c;理论上在ubuntu14.04之后都可以用此操作。 …

uniapp 小程序 嵌套 webview 返回需要点击两次

uniapp 小程序 嵌套 webview 返回需要点击两次 先 上图 小程序也监听不到 返回事件在网上找了一圈 都没有理想的答案&#xff0c;猜测 是因为嵌入的页面中有问题果然 小程序中嵌入的代码 <view><web-view :src"urlSrc" ></web-view></view>…

【思科】链路聚合实验配置和背景

【思科】链路聚合实验配置和背景 背景链路聚合基本概念链路聚合聚合接口 思科链路聚合协议01.PAgP协议02.LACP协议 思科链路聚合模式LACP协议模式PAgP协议模式ON模式 实验准备配置二层链路聚合LACP协议模式SW1SW2PC1PC2查看LACP聚合组建立情况查看LACP聚合端口情况查看逻辑聚合…

使用github actions构建多平台electron应用

1. 创建electron项目 使用pnpm创建项目 pnpm create quick-start/electron 2. 修改electron-builder.yml文件 修改mac的target mac:target:- target: dmgarch: universal 3. 添加workflow 创建 .github/workflows/main.yml 文件 name: Build/release Electron appon:work…

excel系列(三) - 利用 easyexcel 快速实现 excel 文件导入导出

一、介绍 在上篇文章中&#xff0c;我们介绍了 easypoi 工具实现 excel 文件的导入导出。 本篇我们继续深入介绍另一款更优秀的 excel 工具库&#xff1a;easyexcel 。 二、easyexcel easyexcel 是阿里巴巴开源的一款 excel 解析工具&#xff0c;底层逻辑也是基于 apache p…