Git的安装以及SSH配置

前言

近期工作需要,所以版本管理工具要用到Git,某些操作需要ssh进行操作,在某次操作中遇到:git bash报错:Permission denied, please try again。经排查是ssh没有配置我的key,所以就借着这篇文章整理了一下关于Git的安装以及SSH配置过程。

可以外网的用户安装步骤

如果可以联网的用户直接键入下面这条命令即可

bash 复制代码
yum -y install git

离线用户安装步骤

下载git安装包

到达下面这个地址找到Linux的安装包即可。

https://git-scm.com/downloads

如下图所示,首先点击老本本下载,超导对应的Linux安装包

如下图找到适合自己的tar.gz包即可。

安装Git依赖(可跳过)

安装Git之前使用下面这段命令对需要的依赖进行安装一下,这一步我们可以先跳过,因为现在Linux环境基本不缺乏这些依赖,我们可以在后续的步骤中找到确实的依赖然后到网上下载对应的包手动下载即可,笔者这一步只是告知读者我们可能需要那些依赖而已。

bash 复制代码
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

解压tar.gz包

我们将下载的git安装包上传到服务器上,肉键入下面的命令进行解压。

bash 复制代码
tar -zxvf git-v2.8.0.tar.gz

进入解压后的git目录进行编译

完成解压后,需要对git进行编译。

bash 复制代码
cd git-2.8.0/

键入下面这段命令进行解压

bash 复制代码
 make prefix=/usr/local all

安装git

直接键入下面这条命令完成安装。

bash 复制代码
 make prefix=/usr/local install

查看版本号,若存在则安装成功

bash 复制代码
git --version

如下所示,这就说明git安装完成了。

clike 复制代码
git version 1.8.3.1

Git仓库SSH配置

为什么需要SSH

我们日常代码可能会通过GitHub或者gitee来管理,如果希望push和pull的速度快一些,则最好使用ssh的方式和远程仓库建立连接。所以完成Git安装之后我们还需要配置SSH提升和远程仓库交互的速度。

创建SSH密钥

注意: GitHub 在 2022 年 3 月 15 日之后将不再支持 RSA 算法生成的密钥,原因是 RSA 不够安全,而笔者之前一直是使用如下命令生成密钥对的:

bash 复制代码
ssh-keygen -t rsa -C "邮箱"

所以,笔者在2023.7.2修改了文章的加密算法,选择 ed25519。

对于Linux用户,直接命令行即可。对于Windows我们直接打开git bash一样可以执行这个操作。

bash 复制代码
ssh-keygen -t ed25519 -C "xxxxxx@qq.com"
eval `ssh-agent`
ssh-add ~/.ssh/id_ed25519

查看密钥

Linux用户可以通过这条命令查看密钥,对于windows用户可以通过everything等工具全局搜索到这个文件的位置。

bash 复制代码
cat ~/.ssh/id_ed25519.pub

将id_ed25519.pub内容复制到码云或者GitHub

进行克隆测试,若文件克隆成功,则说明配置成功

将对应机子的公钥贴到远程代码仓之后,我们不妨做个测试,建立一个项目使用ssh的方式看看能不能将项目拉下来。

bash 复制代码
git clone git@gitee.com:xxxxx/linux_git_test.git

以笔者为例,仓库被完整的拉取下来了,这就说明本地配置成功了。

补充windows用户的一些问题

注意:完成上述ssh key生成且配置到git上后。如果为windows且使用的是TortoiseGit使用git clone时可能会报No supported authentication methods available的错误。原因很简单,笔者在windows下生成ssh key等操作都是使用git bash,这些设置只对git bash有效。所以当我们使用git bash进行pull代码操作时没有任何问题,所以我们在使用TortoiseGit进行clone时需先进行如下配置

  1. 右键TortoiseGit -> Settings
  2. 找到network将ssh client设置为gitbash的bin目录下的ssh.exe

参考文献

TortoiseGit提示No supported authentication methods available错误: https://blog.csdn.net/Jeffxu_lib/article/details/112259246

解决GitHub报错You're using an RSA key with SHA-1, which is no longer allowed. Please use a newer client: https://blog.csdn.net/wangpaiblog/article/details/124416005

相关推荐
GeW3 小时前
超详细!RHCE10版通用备考策略,内含评分细则解读
linux
用户041328465134 小时前
Linux 服务开机自启动怎么配置?systemctl enable 原理详解
linux
工藤孤独11 小时前
Git Worktree 从零到多智能体实战
git
草莓熊Lotso13 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君13 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
微尘寒风20 小时前
【Git】的安装和使用
java·git
贝锐21 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien20041 天前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
小张同学a.1 天前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
mooooooooooye1 天前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh