前言近期工作需要所以版本管理工具要用到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 / Ubuntusudoaptupdatesudoaptinstall-ygit# macOS需先安装 Homebrewbrewinstallgit离线用户安装步骤下载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.5Git仓库SSH配置为什么需要SSH我们日常代码可能会通过 GitHub 或 Gitee 来管理。对国内用户而言GitHub 的 HTTPS443链路经常被运营商限速、丢包导致git clone、git push缓慢甚至中断而 SSH22 端口走的是另一条链路在国内访问 GitHub 时通常更快、更稳定并且基于密钥对认证免去了反复输密码/PAT 的麻烦。所以完成 Git 安装之后我们还需要配置 SSH。创建SSH密钥注意GitHub 自 2022 年 3 月 15 日起不再接受基于 SHA-1 签名的ssh-rsa密钥进行连接。虽然 RSA SHA-2rsa-sha2-256/rsa-sha2-512仍然可用但社区已普遍推荐使用更现代、更安全、密钥更短的 ed25519 算法。本文统一采用 ed25519。对于Linux用户直接命令行即可。对于Windows我们直接打开git bash一样可以执行这个操作。ssh-keygen-ted25519-Cxxxxxxqq.comevalssh-agentssh-add ~/.ssh/id_ed25519查看密钥Linux用户可以通过这条命令查看密钥对于windows用户可以通过everything等工具全局搜索到这个文件的位置。cat~/.ssh/id_ed25519.pub将id_ed25519.pub内容复制到码云或者GitHub测试 SSH 连接是否生效将对应机子的公钥贴到远程代码仓之后最轻量的验证方式是直接用ssh -T探测一次握手ssh-Tgitgithub.com# 或 ssh -T gitgitee.com看到类似Hi xxx! Youve successfully authenticated...的输出即说明配置成功。如果想顺便测试克隆能力也可以直接克隆一个已有仓库gitclone gitgitee.com:xxxxx/linux_git_test.git以笔者为例仓库被完整的拉取下来了这就说明本地配置成功了。macOS 用户的 SSH 配置整体来说 macOS 用户配置 SSH key 的步骤和 Linux 用户类似这里笔者将指令和含义直接贴出来供读者参考-- 生成ssh密钥 ssh-keygen-ted25519-Cxxxqq.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-Tgitgithub.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/124416005Mac用户必备轻松添加Git SSH密钥全攻略:https://zhuanlan.zhihu.com/p/688702074Linux环境下Git记住账号密码
Linux与macOS下Git安装及SSH配置教程
发布时间:2026/6/11 9:23:20
前言近期工作需要所以版本管理工具要用到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 / Ubuntusudoaptupdatesudoaptinstall-ygit# macOS需先安装 Homebrewbrewinstallgit离线用户安装步骤下载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.5Git仓库SSH配置为什么需要SSH我们日常代码可能会通过 GitHub 或 Gitee 来管理。对国内用户而言GitHub 的 HTTPS443链路经常被运营商限速、丢包导致git clone、git push缓慢甚至中断而 SSH22 端口走的是另一条链路在国内访问 GitHub 时通常更快、更稳定并且基于密钥对认证免去了反复输密码/PAT 的麻烦。所以完成 Git 安装之后我们还需要配置 SSH。创建SSH密钥注意GitHub 自 2022 年 3 月 15 日起不再接受基于 SHA-1 签名的ssh-rsa密钥进行连接。虽然 RSA SHA-2rsa-sha2-256/rsa-sha2-512仍然可用但社区已普遍推荐使用更现代、更安全、密钥更短的 ed25519 算法。本文统一采用 ed25519。对于Linux用户直接命令行即可。对于Windows我们直接打开git bash一样可以执行这个操作。ssh-keygen-ted25519-Cxxxxxxqq.comevalssh-agentssh-add ~/.ssh/id_ed25519查看密钥Linux用户可以通过这条命令查看密钥对于windows用户可以通过everything等工具全局搜索到这个文件的位置。cat~/.ssh/id_ed25519.pub将id_ed25519.pub内容复制到码云或者GitHub测试 SSH 连接是否生效将对应机子的公钥贴到远程代码仓之后最轻量的验证方式是直接用ssh -T探测一次握手ssh-Tgitgithub.com# 或 ssh -T gitgitee.com看到类似Hi xxx! Youve successfully authenticated...的输出即说明配置成功。如果想顺便测试克隆能力也可以直接克隆一个已有仓库gitclone gitgitee.com:xxxxx/linux_git_test.git以笔者为例仓库被完整的拉取下来了这就说明本地配置成功了。macOS 用户的 SSH 配置整体来说 macOS 用户配置 SSH key 的步骤和 Linux 用户类似这里笔者将指令和含义直接贴出来供读者参考-- 生成ssh密钥 ssh-keygen-ted25519-Cxxxqq.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-Tgitgithub.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/124416005Mac用户必备轻松添加Git SSH密钥全攻略:https://zhuanlan.zhihu.com/p/688702074Linux环境下Git记住账号密码