迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

在 Git 中使用 SSH 密钥克隆仓库或分支

作者:迹忆客 最近更新:2023/04/04 浏览次数:

SSH Git 克隆提供了一种克隆远程仓库的安全方法。本教程展示了使用 SSH 密钥进行 Git 克隆的完整方法 - 如何生成 SSH 密钥、在 Git 中设置 SSH 以及使用 SSH 密钥进行 Git 克隆。

我们还展示了一些有用的选项来扩展该功能 - 只克隆一个分支,克隆到选定的目录,或者只克隆一些大型仓库的提交。


什么是 SSH

SSH 或安全 shell 协议是一种网络协议,用于在不安全的网络上使用安全服务。它使用公钥-私钥对 - 只有你在将公钥发送到你要使用的服务时才能访问你的私钥。

任何用你的公钥加密的数据只能用你的私钥打开,反之亦然。


为什么使用 SSH 密钥克隆 Git

SSH Git Clone 提供了一种通过不安全的公共网络安全地克隆远程仓库的简单方法。

如果你使用 SSH 密钥进行 Git 克隆,则不必每次都重新输入密码来向远程服务器表明自己的身份。一旦服务器对 SSH 代理进行身份验证,它就会记住详细信息 - 你不必每次都重新输入 SSH 密钥。

生成 SSH 密钥对

我们使用 ssh key-gen 命令生成一个 SSH 公私密钥对。

ssh key-gen

生成 ssh 密钥

它将提示你输入密码以保护对客户端计算机上密钥的访问 - 你可以选择将其留空,或输入你喜欢的密码。

专业提示:输入密码时不会显示任何字符。这是为了隐藏密码的长度并增加安全性。

专业提示 2:在某处写下你的密码。如果你忘记了它,你将无法恢复你的访问权限。

我们在这里保留 ssh key-gen 命令的默认值,但我们也可以传入不同的选项——我们想要的加密算法(例如 ed2559)、标签、保存密钥的特定位置。

检查保存的 SSH 密钥对

我们检查我们的 SSH 密钥是否生成并正确保存。

ls -al ~/.ssh

检查 ssh 密钥

密钥存储在你机器的 .ssh 文件夹中。id_rsa 文件保存私钥,而 id_rsa.pub 保存你的公钥。

如果你在输出中看到这两个文件,则你已成功创建并保存了一个 SSH 密钥对。

将 SSH 密钥添加到 SSH 代理

我们将 SSH 代理作为后台进程启动。

eval "$(ssh-agent -s)"

启动 ssh 代理

我们看到代理作为后台进程 970 运行。我们将 SSH 私钥添加到 SSH 代理。

ssh-add ~/.ssh/id_rsa

添加私钥 sshagent

代理确认它已使用消息 Identity added : <path_to_private_key 添加了私钥。

将公钥添加到远程 GitHub 帐户

将公钥复制到剪贴板。

clip < ~/.ssh/id_rsa.pub

专业提示:始终复制 PUBLIC 键。切勿与任何人共享你的 PRIVATE 密钥。

  1. 转到你的 GitHub 帐户。
  2. 点击个人资料图片
  3. 从下拉菜单中选择设置

github 设置

  1. 点击左侧栏中的 SSH and GPG Keys

选择 ssh 和 gpg 密钥

  1. 点击右上角的 New SSH Key

新的 ssh 键单击

  1. 添加描述,并将 PUBLIC 键粘贴到 Key 字段中。

公共 sshkey 粘贴到 github

你现在已经成功地使用你的 GitHub 帐户识别了你的 SSH 代理。

测试与 GitHub 的 SSH 连接

我们测试与 GitHub 的 SSH 连接。

ssh -T git@github.com

测试 ssh 连接

该消息确认你已成功通过身份验证。


在 Git 中使用 SSH 密钥克隆仓库

接下来,我们使用 SSH 克隆我们的远程仓库。

  1. 复制你的仓库的 SSH URL

GitHub 的仓库中,单击右上角的代码绿色按钮。

单击 SSH 以显示你的 SSH URL。复制此 SSH URL。

复制 ssh 网址

  1. Git 终端中的 Git Clone SSH

在 Git 终端中使用 SSH 克隆远程。

git clone <remote_repo_ssh_url>

<remote_repo_ssh_url> 是你在上面复制的 URL。

git 克隆 ssh

你已使用 SSH 密钥在 Git 中成功克隆了一个仓库。


使用选项扩展 Git 克隆 SSH

你可能需要针对你的用例使用特定类型的克隆。你可以使用一些选项通过 SSH 扩展 Git 克隆。

  1. Git Clone SSH Only 一个特定的分支

要使用 SSH 密钥仅克隆一个分支:

git clone --branch <branch_to_clone> <remote_repo_ssh_url>

git clone 特定分支

这在大型仓库的情况下非常有用。为了节省本地机器上的时间和空间,你可能只想克隆你工作的分支或只克隆几个感兴趣的分支。

  1. 使用 SSH 密钥将 Git 克隆到特定位置

你可能希望克隆到特定文件夹以保持本地目录结构井井有条。

克隆到特定位置:

git clone <remote_repo_ssh_url> <specific_location_local>

git clone 具体位置

  1. 使用 SSH 密钥进行浅层 Git 克隆 - 仅克隆少量提交

对于大型仓库,你可能希望减少克隆时间或节省本地磁盘空间。你可以通过仅克隆最后几个提交的选定集来做到这一点。

只克隆几个最近的提交:

git clone --depth=<n> <remote_repo_ssh_url>

这里 <n> 是你要克隆的最近提交的数量。

例如,如果 n = 2,它将仅克隆最后两个提交。

git 浅克隆 ssh

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便