原文:https://ichochy.com/posts/blog/20221107.html


通过密码连接GitHub总是要输入密码,麻烦,现在使用 SSH key 可以轻松实现免密验证.

创建 SSH key

使用 ssh-keygen 命令

  • 打开终端输入命令 ssh-keygen 创建 key
ssh-keygen -t ed25519 -C "ichochy@outlook.com" 

注意:将ichochy@outlook.com换成自己的邮箱。

  • 命令构建ed25519 key,并自动保存到.ssh目录
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/mleo/.ssh/id_ed25519):
Created directory '/Users/mleo/.ssh'.
  • 提示输入key的密码
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

注意:可以输入空和密码

  • 提示key创建成功,并保存在.ssh目录
Your identification has been saved in /Users/mleo/.ssh/id_ed25519
Your public key has been saved in /Users/mleo/.ssh/id_ed25519.pub

配置 SSH key

  • 创建配置文件
touch ~/.ssh/config
  • 配置文件写入GitHub主机信息
Host github.com                           # 别名
Hostname github.com # GitHub 主机地址
Port 22 # GitHub 主机端口
User git # GitHub 主机用户
Identityfile ~/.ssh/id_ed25519 # ssh-key
  • GitHub帐号中添加公钥key
iChochy(用户) => Settings => SSH and GPG keys => new SSH key

测试 SSH key

  • 测试 GitHub SSH 连接
ssh -T git@github.com
  • 确认是否连接
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
  • 输入 yes确认连接
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
  • 成功连接信息
Hi iChochy! You've successfully authenticated, but GitHub does not provide shell access.

使用 SSH key

  • 通过 SSH 地址克隆远程仓库
git clone git@github.com:iChochy/iChochy.git 	# 克隆远程仓库 
  • 通过 SSH 免密提交代码
Enumerating objects: 405, done.
Counting objects: 100% (405/405), done.
Delta compression using up to 8 threads
Compressing objects: 100% (205/205), done.
Writing objects: 100% (206/206), 27.81 KiB | 6.95 MiB/s, done.
Total 206 (delta 199), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (199/199), completed with 194 local objects.
To github.com:iChochy/iChochy.git
1d44cdb..bde62c3 master -> master

第一次通过 SSH key 免密连接 GitHub 的完整过程的更多相关文章

  1. Linux 设置秘钥登录(SSH免密连接)

    Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种.Lin ...

  2. Linux网络第四章:SSH远程管理及通过SSH实现服务器之间的免密连接

    目录 一.SSH远程管理基础 1.ssh协议 2.ssh原理 3.配置文件解析 4.登录方法 5.使用ssh协议传输的命令 二.免密连接的实现 1.免密连接原理 2.免密实现环境准备 3.在客户端生成 ...

  3. Mac 使用 SSH 免密连接服务器

    1.生成 SSH 秘钥 ssh-keygen -t rsa  生成的密钥对 id_rsa 和 id_rsa.pub,默认存储在 ~/.ssh 目录,其中没有后缀的是私有,有后缀 .pub 的为公钥.生 ...

  4. ssh免密连接远程服务器

    ssh免密连接远程服务器 借助ssky-keygen和ssh-copy-id工具,通过4个简单的步骤实现无需输入密码登录远程Linux主机 1 生成密钥 通过内置的工具生成RSA算法加密的密钥 ssh ...

  5. Hadoop起步之图解SSH、免密登录原理和实现

    1. 前言 emmm….最近学习大数据,需要搭建Hadoop框架,当弄好linux系统之后,第一件事就是SSH免密登录的设置.对于SSH,我觉得使用过linux系统的程序员应该并不陌生.可是吧,用起来 ...

  6. ssh批量免密

    expect命令在linux下实现批量ssh免密 发布时间:2017-11-27 08:41:39 投稿:laozhang 本次文章主要给大家讲解了在linux系统下用expect命令实现批量ssh免 ...

  7. Linux生成私钥和公钥免密连接

    本文介绍Linux系统生成私钥和公钥进行免密连接,内容比较简单,阅读需要3分钟. 1.大致流程 有时需要从服务器A免密连接到服务器B,这时需要在服务器A生成私钥和公钥,大致过程其实就2步. 1.1 在 ...

  8. CentOS下SSH远程免密登录服务器

    .5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...

  9. ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs

    ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...

  10. ansible实现SSH配置免密互信

    Ansible是用来处理大批量重复性操作的工具,只需要在一台机器上就可以远程控制所有机器,但前提是必须保证每台机器之间SSH可以相互免密登录.关于Ansible的安装和环境准备请参考Ansible环境 ...

随机推荐

  1. 模板设计模式--java进阶day03

    1.模板设计模式 说到模板,我们第一时间想到的可能就是写作文 不过这样写就是一篇完整的作文,我们应该进行修改 这样修改还会存在一个问题,每一个人写的作文不同,中间的body()无法描述清楚,所以我们要 ...

  2. SQL语句(一)—— DDL

    SQL 全称 Structured Query Language,结构化查询语言.操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 . 一.SQL 基础知识 (一)SQL 通用语法 在学 ...

  3. DHCP介绍与实现方法

    简介:动态主机配置协议(Dynamic Host Configuration Protocol,缩写:DHCP)是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客 ...

  4. Condition的await()方法底层源码

    一.Condition的await()方法底层源码 以下是 ConditionObject 中 await 方法的源码及其详细分析: public final void await() throws ...

  5. 科研新体验:刘同学深度试用ADTF软件反馈揭晓!

    一.前言 作为一名高校的科研工作者,在高校的科研工作中,经常需要处理各种复杂的数据流,尤其是视频采集和处理的工作,对数据的实时性和精度要求非常高,我首次试用ADTF时,主要负责开发一个集成FFmpeg ...

  6. 一个开源的 Blazor 跨平台入门级实战项目

    前言 今天大姚给大家分享一个开源(MIT license).免费的 Blazor 跨平台入门级实战项目:YourWeather. 项目介绍 YourWeather是一个开源(MIT license). ...

  7. 线上救急-AWS限频

    线上救急-AWS限频 问题 在一个天气炎热的下午,我正喝着可口可乐,悠闲地看着Cursor生成代码,忽然各大群聊中出现了加急@全体的消息,当时就心里一咯噔,点开一看,果然,线上服务出问题,多个能源统计 ...

  8. requirejs的简单使用,requirejs报错Uncaught Error: Mismatched anonymous define() module: …

    requirejs的简单使用 define()方法的3个参数: 参数1为模块名称(不填则以当前js的文件名定义一个匿名模块), 参数2为依赖项数组(可不填), 参数3为模块的实现 引入jQuery: ...

  9. 【记录】Excel 2021|(一)VBA操作Excel入门,在姓和名之间打空格,如“ZhangSanSan“改成“Zhang SanSan“

    版本:Excel 2021. 打开VBA界面:快捷键Alt+F11.(或视图-宏). 录制宏,再看看宏的代码,就可以基本了解常规的Excel操作在VBA里是什么德行. 比方说,我需要对一个选区进行修改 ...

  10. useEffect的那些坑,你知道多少

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 14px; o ...