@


前言

请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i


提示:以下是本篇文章正文内容,下面案例可供参考

生成 SSH Key 并配置 GitHub/GitLab 详细教程

第 1 步:检查是否已有 SSH Key

Git Bash (Windows)、终端 (Linux/macOS) 运行以下命令:

ls -al ~/.ssh

可能的输出:

如果已有 SSH Key(如 id_rsa 和 id_rsa.pub)

说明你已经生成过 SSH Key,可以跳到 第 4 步 直接添加到 GitHub/GitLab

如果 .ssh 目录不存在或没有 id_rsa 文件 说明你需要生成新的 SSH Key,请继续下一步

第 2 步:生成新的 SSH Key

运行以下命令:

ssh-keygen -t rsa -b 4096 -C "你的邮箱"

示例:

ssh-keygen -t rsa -b 4096 -C "yaoyuzhuo6@gmail.com"

参数说明:

-t rsa :使用 RSA 算法(GitHub/GitLab 推荐)

-b 4096 :生成 4096 位密钥(比默认 2048 位更安全)

-C "你的邮箱" :添加注释(通常是你的 GitHub/GitLab 绑定邮箱)

系统会询问以下问题:

  1. Enter file in which to save the key (~/.ssh/id_rsa 默认回车)
Enter file in which to save the key (/home/your-user/.ssh/id_rsa):
  • 直接回车 使用默认路径(推荐)
  • 如果已有密钥,可以换个名字,如 id_rsa_github
  1. Enter passphrase(输入密码,可留空)
Enter passphrase (empty for no passphrase):
  • 建议直接回车(否则每次使用 SSH 都要输入密码)

生成成功后,会在 ~/.ssh/ 目录下创建两个文件:

~/.ssh/id_rsa      # 私钥(不要分享)
~/.ssh/id_rsa.pub # 公钥(需要添加到 GitHub/GitLab)

第 3 步:启动 SSH Agent 并添加密钥

1️⃣ 启动 SSH 代理(用于管理密钥):

eval "$(ssh-agent -s)"

成功时会返回:

Agent pid 12345

2️⃣ 将私钥添加到 SSH 代理:

ssh-add ~/.ssh/id_rsa

如果你的私钥文件名不是 id_rsa,请修改为实际名称:

ssh-add ~/.ssh/id_rsa_github

如果报错:

Could not open a connection to your authentication agent

请先运行:

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

第 4 步:复制 SSH 公钥

运行:

cat ~/.ssh/id_rsa.pub

复制公钥的方法:

Windows Git Bash

clip < ~/.ssh/id_rsa.pub

macOS

pbcopy < ~/.ssh/id_rsa.pub

Linux(手动复制)

cat ~/.ssh/id_rsa.pub

第 5 步:添加 SSH Key 到 GitHub/GitLab

GitHub:

  1. 打开 GitHub SSH 设置
  2. 点击 New SSH Key
  3. Title:随便填(如 “My Laptop”)
  4. Key:粘贴 id_rsa.pub 里的内容
  5. 点击 Add SSH Key

GitLab:

  1. 打开 Preferences -> SSH Keys
  2. 粘贴 id_rsa.pub 的内容
  3. 点击 Add Key

第 6 步:测试 SSH 连接

ssh -T git@github.com

如果成功,会看到:

Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.

SSH Key 配置成功!

第 7 步:设置 Git 使用 SSH 方式拉取代码

默认情况下,Git 可能还在使用 HTTPS,需要手动改为 SSH。

设置全局 Git 远程 URL 方式:

git config --global url."git@github.com:".insteadOf "https://github.com/"

这样你 git clone 或 git push 就不会要求输入 GitHub 账号和密码了!

第 8 步:使用 SSH 克隆 GitHub/GitLab 仓库

HTTPS 方式(需要输入密码):

git clone https://github.com/your-username/repository.git

SSH 方式(不需要输入密码):

git clone git@github.com:your-username/repository.git

如果使用 GitLab:

git clone git@gitlab.com:your-username/repository.git

总结

检查 SSH Key

生成 SSH Key

启动 SSH 代理 & 添加密钥

复制公钥 & 添加到 GitHub/GitLab

测试 SSH 连接

使用 SSH 克隆仓库

完成后,你的 Git 连接将更加安全,且无需每次输入密码!


我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!

保姆教程系列:生成 SSH Key 并配置连接远程仓库的更多相关文章

  1. 如何给 GitHub 添加 SSH key, 如何生成 SSH key 详细图文教程!

    如何给 GitHub 添加  SSH key, 如何生成  SSH key 详细图文教程! 一. 生成  SSH key https://ide.c9.io/xgqfrms/ 创建一个空项目:(或使用 ...

  2. win7生成ssh key配置到gitlab

    测试服务上使用ip访问gitlab,比如http://192.168.0.2/,创建用户并登陆后创建一个项目,比如git@gitlab.demo.com:demo/helloworld.git 如果想 ...

  3. Win环境 Android Studio使用Git 教程 ( 生成SSH key )

    Github和码云都提供SSH协议,即用户可以用公钥认证方式连接到码云的SSH服务器.这就需要生成并部署SSH Key.下面就是我生成SSH Key的步骤,希望有所帮助: Git生成SSH key 在 ...

  4. Git 生成SSH Key

    背景:服务器是LINUX系统(centos7),使用GitLab管理git代码库.各个客户端通过sourcetree 工具,采用SSH获取.提交代码.使用SSH的方式需要公钥和私钥.下面介绍秘钥的生成 ...

  5. Git - 生成ssh key步骤以及如何clone所有的远程分支

    https://www.cnblogs.com/gongyuhonglou/p/6922721.html 2. 生成ssh key $ ssh-keygen -t rsa -C “邮箱”按3个回车,密 ...

  6. SecureCRT 用ssh key登录配置方法

    服务器端配置 OS: Debian-6.0.5 复制代码 代码如下: #apt-get install ssh 安装ssh服务 编辑/etc/ssh/sshd_config配置文件 复制代码 代码如下 ...

  7. git生成ssh key和多账号支持

    git配置ssh 1.首先设置git的全局user name和email $ git config --global user.name "ygtzz"$ git config - ...

  8. git生成ssh key及本地解决多个ssh key的问题

    git生成ssh key及本地解决多个ssh key的问题 ssh是一种网络协议,用于计算机之间的加密登录.ssh原理及应用可参考: SSH原理与运用(一):远程登录 生成ssh key步骤 这里以配 ...

  9. linux下安装Git并生成SSH key

    系统:contens7.4 1.下载源码解压 wget https://github.com/git/git/archive/v2.3.0.zip unzip v2.3.0.zip cd git-2. ...

  10. 保姆教程系列二、Nacos实现注册中心

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到  保姆教程系列一.Linux搭建Nacos 注册中心原理 一.环境准备 Java版本:1.8+   (Linux ce ...

随机推荐

  1. Flume - [01] 概述

    一.什么是Flume Flume 是Cloudera提供的一个高可用,高可靠的,分布式的海量日志采集.聚合和传输的系统. Flume最主要的作用就是:实时读取服务器本地磁盘的数据,将数据写入HDFS. ...

  2. 机器学习 | 强化学习(8) | 探索与开发(Exploration and Exploitation)

    8-探索与开发(Exploration and Exploitation) 1.导论 探索与开发二难问题 基于决策的决策过程存在以下两种选择 开发:基于目前的学习做最优的决策 探索:获取更多的学习 最 ...

  3. ABC391D题解

    前置知识: map priority_queue 思路 考虑预处理每一个图块在第几秒后会被删除. 如何预处理?我使用了一种非常暴力的做法,首先处理的过程肯定是从下往上的,于是每一个图块能被删除一定是它 ...

  4. 质疑了ChatGPT,结果他居然...

    小编其实是想挑战下ChatGPT,指出目前像他这种AI,通过如此高维向量的方式代表一个事物特征,是算力上的巨大浪费. 质疑这种方式可能不是最优解,冥冥之中应该有更好的方式. 结果发现他居然大方承认,而 ...

  5. 【 Python 】补全fibersim 导出的xml语法

    fibersim导出的xml文件中,node 和mesh部分的标签会缺失.即<R></R>变成了<R/>. 以下python脚本可以自动修正 # ********* ...

  6. 分布式锁—7.Curator的分布式锁

    大纲 1.Curator的可重入锁的源码 2.Curator的非可重入锁的源码 3.Curator的可重入读写锁的源码 4.Curator的MultiLock源码 5.Curator的Semaphor ...

  7. Cordova基本使用(三)

    2021-10-10 Action 过了很久又需要打包了,今天补充下之前没有记录的一个问题:Android解决禁止使用http协议,如何解决 解决方法: Android解决禁止使用http协议的方案 ...

  8. ESX与ESXi区别

    VMware ESXi 与ESX 产品之比较 VMware vSphere 5.0 以后版本,所有底层虚拟化产品都改为ESXi产品,本文主要比较了ESXi与ESX的各自特点,以便对大家是否要把现有的E ...

  9. spring 事务失效的 12 种场景

    看这个:https://blog.csdn.net/hanjiaqian/article/details/120501741里面有12种失效场景以及如何解决. 在 spring 中为了支持编程式事务, ...

  10. 附042.Kubernetes_v1.32.3生成环境高可用部署

    目录 部署组件 kubeadm介绍 kubelet介绍 kubectl介绍 方案概述 方案介绍 部署规划 节点规划 主机名配置 变量准备 互信配置 环境预配置 部署高可用组件 HAProxy安装 Ke ...