Linux与macOS下Git安装及SSH配置教程
2026/6/11 9:23:19 网站建设 项目流程

前言

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

SharkChili· 禅与计算机程序设计的艺术

开源贡献

  • mini-redis:教学级 Redis 精简实现 ·
    https://github.com/shark-ctrl/mini-redis

关注公众号,回复【加群】加入技术社群

可以外网的用户安装步骤

如果可以联网,根据系统选择对应的包管理器即可完成安装:

# RHEL / CentOS / Fedorayum-yinstallgit# 或 dnf install git# Debian / Ubuntusudoaptupdate&&sudoaptinstall-ygit# macOS(需先安装 Homebrew)brewinstallgit

离线用户安装步骤

下载git安装包

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

https://git-scm.com/downloads

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

找到适合自己的tar.gz包即可,以笔者为例下载的就是2.39.5的Linux版本:

安装Git依赖(可跳过)

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

yum-yinstallzlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

解压tar.gz包

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

tar-zxvfgit-2.39.5.tar.gz

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

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

cdgit-2.39.5/

如需自定义编译选项(例如指定 OpenSSL 路径),可先执行./configure,否则可跳过:

./configure--prefix=/usr/local

键入下面这段命令进行编译:

makeprefix=/usr/local all

安装git

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

makeprefix=/usr/localinstall

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

git--version

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

git version2.39.5

Git仓库SSH配置

为什么需要SSH

我们日常代码可能会通过 GitHub 或 Gitee 来管理。对国内用户而言,GitHub 的 HTTPS(443)链路经常被运营商限速、丢包,导致git clonegit push缓慢甚至中断;而 SSH(22 端口)走的是另一条链路,在国内访问 GitHub 时通常更快、更稳定,并且基于密钥对认证免去了反复输密码/PAT 的麻烦。所以完成 Git 安装之后我们还需要配置 SSH。

创建SSH密钥

注意:GitHub 自 2022 年 3 月 15 日起不再接受基于 SHA-1 签名的ssh-rsa密钥进行连接。虽然 RSA + SHA-2(rsa-sha2-256/rsa-sha2-512)仍然可用,但社区已普遍推荐使用更现代、更安全、密钥更短的 ed25519 算法。本文统一采用 ed25519。

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

ssh-keygen-ted25519-C"xxxxxx@qq.com"eval`ssh-agent`ssh-add ~/.ssh/id_ed25519

查看密钥

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

cat~/.ssh/id_ed25519.pub

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

测试 SSH 连接是否生效

将对应机子的公钥贴到远程代码仓之后,最轻量的验证方式是直接用ssh -T探测一次握手:

ssh-Tgit@github.com# 或 ssh -T git@gitee.com

看到类似Hi xxx! You've successfully authenticated...的输出即说明配置成功。

如果想顺便测试克隆能力,也可以直接克隆一个已有仓库:

gitclone git@gitee.com:xxxxx/linux_git_test.git

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

macOS 用户的 SSH 配置

整体来说 macOS 用户配置 SSH key 的步骤和 Linux 用户类似,这里笔者将指令和含义直接贴出来供读者参考:

-- 生成ssh密钥 ssh-keygen-ted25519-C"xxx@qq.com"-- 将SSH密钥添加到ssh-agent: 为了让SSH密钥在新的终端会话中持续有效,您需要将它添加到ssh-agenteval"$(ssh-agent-s)"-- 将私钥添加到ssh-agent ssh-add ~/.ssh/id_ed25519

经过上述步骤后,我们可以通过如下指令查看公钥并将其添加到git上:

cat~/.ssh/id_ed25519.pub

完成配置后,我们可以通过下述指令查看配置测试ssh连接是否生效:

ssh-Tgit@github.com

如果输出下面这段结果则说明本次配置是生效的:

HTTPS仓库记住账号密码(可选)

此小节仅对使用 HTTPS 协议克隆的仓库有效,已配置 SSH 的读者可跳过。为避免服务器执行pull指令时频繁输入git账户密码,建议读者在完成上述git配置之后,全局执行如下指令记住服务器首次输入的git账户密码信息:

gitconfig--globalcredential.helper store

小结

本文演示git的基本安装和后续ssh配置的等基本工作,希望对你有帮助。

SharkChili· 禅与计算机程序设计的艺术

开源贡献

  • mini-redis:教学级 Redis 精简实现 ·
    https://github.com/shark-ctrl/mini-redis

关注公众号,回复【加群】加入技术社群

参考

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

Mac用户必备:轻松添加Git SSH密钥全攻略:https://zhuanlan.zhihu.com/p/688702074

Linux环境下Git记住账号密码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询