Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析

小万哥
• 阅读 86

使用 SSH 密钥对的 Git 安全远程访问:生成、添加和连接

SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤:

生成 SSH 密钥对

  1. 打开终端或命令行工具。
  2. 在命令行中运行以下命令来生成 SSH 密钥对:
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    这将创建一个 RSA 密钥对,其中 -t 用于指定密钥类型,-b 用于指定密钥位数(通常为 4096 位,更安全),-C 用于添加注释,通常是您的电子邮件地址。
  3. 系统会要求您选择密钥对的保存位置。按 Enter 使用默认位置(通常在 ~/.ssh/id_rsa)或指定其他位置。
  4. 您还可以选择为 SSH 密钥对设置密码,提高安全性。这意味着在每次使用密钥对时,您都需要输入密码。如果选择设置密码,系统将要求您输入密码并进行确认。
  5. SSH 密钥对已生成,公钥保存在 ~/.ssh/id_rsa.pub 中,私钥保存在 ~/.ssh/id_rsa 中。

添加 SSH 密钥到 SSH-Agent

SSH-Agent 是一个密钥管理工具,用于管理 SSH 密钥并在需要时提供它们。

  1. 在终端中运行以下命令以将 SSH 密钥添加到 SSH-Agent:
    ssh-add ~/.ssh/id_rsa
    请将 ~/.ssh/id_rsa 替换为您生成密钥时选择的路径。
  2. 如果您设置了密码,系统将提示您输入密码以解锁密钥。一旦完成,密钥将添加到 SSH-Agent 中。

将公钥添加到 Git 存储库

  1. 打开 ~/.ssh/id_rsa.pub 文件,查看公钥内容。您可以使用文本编辑器来打开该文件。
  2. 复制公钥内容。
  3. 登录到您的 Git 存储库托管服务(例如 GitHub、GitLab 或 Bitbucket)。
  4. 转到您的账户设置或配置文件设置中,找到 SSH 密钥或公共密钥部分。
  5. 添加您的公钥。这通常涉及将公钥粘贴到提供的字段中并保存更改。

使用 SSH 连接到远程存储库

现在,您可以通过 SSH 连接到远程 Git 存储库。当克隆或配置远程存储库时,确保使用 SSH URL,而不是 HTTPS URL。

例如,要克隆一个存储库,使用以下命令:

git clone git@github.com:username/repo.git

这将使用 SSH 协议连接到存储库。

通过使用 SSH 密钥对,您可以确保数据在传输时受到加密保护,并提供了更高的安全性。请注意,保护私钥非常重要,不要泄漏给未经授权的人。 SSH 密钥对为您的 Git 操作提供了安全的身份验证。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏
评论区
推荐文章
前端尾随者 前端尾随者
2年前
sourceTree 添加 ssh key 方法
1.使用git客户的生成公私钥:id\rsa、id\rsa.pub1.1设置Git的username和email:$gitconfigglobaluser.name"xxx"$gitconfig\globaluser.email"xxx.mail@xxx.com"1.2.生成SSH密钥过程:1.2.1.检查是不是已经存在密钥(
Easter79 Easter79
2年前
ssh实现远程登陆以及使用技巧
SSH简介SSH为SecureShell的缩写,由IETF的网络工作小组(NetworkWorkingGroup)所制定;SSH为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。常用于远程登录,以及用户之间进行资料拷贝。利用SSH协议可以有
Easter79 Easter79
2年前
ssh
sshkeygen生成gitssh密钥SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell。SSH登录是需要用户名和密码的,要实现无密码登录,就需要创建SSH密钥(sshkey),SSH密钥可以认为是和另一台电脑通信时
Easter79 Easter79
2年前
ssh的应用和vnc连接桌面
一、什么是ssh?1、SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。SSH之所以能够保证安全,原因在于它采用了公钥加密。2、SSH是传输层和应用层上的安全协议,它只能通过加密连接双方会话
Stella981 Stella981
2年前
GitHub使用SSH连接以及生成修改添加密钥详细过程
目录1\.先看看本地有没有SSH密钥2\.生成/修改密钥3\.把SSH密钥添加到sshagent4\.把SSH密钥添加到GitHub账户里5\.测试使用ssh地址clone仓库6\.把远程仓库的URL从HTTPS改成SSH7\.尝试一下pushGitHub如果使用HT
Stella981 Stella981
2年前
Linux服务器ssh远程管理
SSH远程管理SSH(SecureShell)是一种安全通道协议,主要用来实现字符界面的远程登陆,远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登陆时输入的用户口令,与早期的telnet(远程管理),rsh(RemoteShell,远程执行命令),rcp(远程复制文件)等应用相比,SSH协议提供了更好的安全性
Wesley13 Wesley13
2年前
6、SSH远程管理服务实战
1.SSH基本概述SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?1.提供远程连接服务器的服务、2.对传输的数据进行加密那么除了SSH协议能提供远程连接服务,Telnet也能提供远程连接服务,那么分别的区别是什么呢?ssh服务会对传输数据
Stella981 Stella981
2年前
Linux配置SSH免密码登录
CentOS配置SSH免密码登录为例说明:SSH远程登录的安全外壳协议有两种身份认证机制:\用户名密码\密钥登录环境准备host1:192.168.0.10host2:192.168.0.11下面以host1ssh免密码登录到host2为例,进行说明1、在host1主机下生成私钥/公钥对执行如下命
Stella981 Stella981
2年前
Linux应急响应(一):SSH暴力破解
0x00前言SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包含字母等,容易被攻击者破解,一旦被攻击者获取,可用来直接登录系统,控制服务器所有权限。0x01应急场景某天,网站
流浪剑客 流浪剑客
5个月前
终端ssh仿真工具:SecureCRT for mac最新授权码激活 支持M1
是一款功能强大的SSH和Telnet客户端,旨在提供最安全的连接和最高效的通信。它支持SSH1、SSH2以及Telnet协议,能够与各种网络设备进行安全的远程连接。SecureCRT具有多种安全功能,包括数据加密、身份验证和访问控制等,确保远程连接的安全性