当前位置: 首页 > news >正文

【技能---构建github中SSH密钥的流程】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • SSH
  • 基于账号口令的安全验证
  • 通过SSH连接到服务器
    • 打开终端(命令行界面)
    • 使用 SSH 命令连接:
  • 在 Ubuntu 中生成 SSH 密钥并将其添加到 GitHub 的步骤如下:
    • 步骤 1: 检查现有 SSH 密钥
    • 步骤 2: 生成新的 SSH 密钥
    • 步骤 3: 添加 SSH 密钥到 SSH-Agent
    • 步骤 4: 复制 SSH 公钥
    • 步骤 5: 将 SSH 公钥添加到 GitHub
    • 步骤 6: 测试 SSH 连接
  • 总结


前言

在使用github的过程中,遇到了创建SSH-Agent密钥管理的问题,于是乎进行了下面的操作:

在github上面添加秘钥的时候,保存会出现这个错误:

Key is invalid. You must supply a key in OpenSSH public key format

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

SSH

SSH(Secure Shell)是一种用于安全远程登录到计算机系统和执行命令的协议。它通过加密通信的方式,确保用户在网络上的连接是安全的。

以下是 SSH 的主要特点和功能:

安全性: SSH 提供了加密的通信,包括身份验证和数据传输。这使得在不受信任的网络上安全地进行远程管理成为可能。

远程登录: SSH 允许用户从本地计算机登录到远程计算机系统,并在远程系统上执行命令。

文件传输: SSH 支持安全的文件传输,允许用户在本地和远程系统之间传输文件。

端口转发: SSH 可以用于设置端口转发,将本地计算机的端口映射到远程计算机上,实现安全的网络服务。

公钥身份验证: SSH 支持公钥身份验证,允许用户通过公钥和私钥对进行身份验证,而无需输入密码。

代理: SSH 代理(ssh-agent)可用于缓存和管理用户的私钥,以便在会话期间无需再次输入密码。

隧道: SSH 支持创建安全的通信隧道,用于加密和保护网络上的数据传输。

基于账号口令的安全验证

基于账号口令的安全验证是一种常见的身份验证机制,用户需要提供正确的账号(用户名)和口令(密码)才能访问系统或服务。这种验证方式的基本原理如下:

账号: 用户需要提供其唯一标识,通常是一个用户名。这是用于标识用户身份的信息。

口令: 用户必须提供与其账号相关联的密码。这是一个保密信息,只有用户本人应该知道。密码通常通过哈希算法进行存储,以增加安全性。

验证过程: 当用户尝试登录或访问系统时,输入的账号和口令将与系统中存储的相应信息进行比对。如果输入的信息与系统记录的匹配,用户将被授权访问。

安全性考虑:为了增加安全性,密码应该足够复杂,并且定期更新。系统还可以采用一些防护措施,如账号锁定(一定次数失败后锁定账号)、多因素认证等。

通过SSH连接到服务器

通过 SSH 连接到服务是通过 Secure Shell(SSH)协议建立远程连接的过程。以下是连接到服务的基本步骤:

打开终端(命令行界面)

使用 SSH 命令连接:

在终端中使用 ssh 命令来建立 SSH 连接。基本的 SSH 连接命令格式如下:

ssh username@hostname

username 是远程服务器上的用户名。
hostname 是远程服务器的主机名或 IP 地址。

例如:

ssh user@example.com

或者,如果使用 IP 地址:

ssh user@192.168.1.100

输入密码: 如果是首次连接或之前未缓存过该服务器的公钥,系统会要求输入密码。输入正确的密码后按回车键。

认证过程: SSH 将进行身份验证并建立加密连接。一旦认证成功,你将进入远程服务器的命令行界面。

如果连接成功,你就可以在远程服务器上执行命令、编辑文件等操作。在连接的过程中,SSH 会确保通信是加密的,从而提供了一种安全的远程访问方式。

在 Ubuntu 中生成 SSH 密钥并将其添加到 GitHub 的步骤如下:

步骤 1: 检查现有 SSH 密钥

首先,检查是否已经存在 SSH 密钥。打开终端并执行以下命令:

ls -al ~/.ssh

查看目录中是否存在 id_rsa 和 id_rsa.pub 文件。如果这两个文件存在,你已经有了一个 SSH 密钥。

我的终端输出:

(base) l@l:~$ l -al ~/.ssh
总用量 16
drwxrwxr-x  2 l l 4096 911 14:44 .
drwxr-xr-x 61 l l 4096 124 11:24 ..
-rw-rw-r--  1 l l  113 913 13:58 config
-rw-r--r--  1 l l 2440 1130 18:11 known_hosts

即是没有相应的文件,于是执行下面的命令:

步骤 2: 生成新的 SSH 密钥

如果在步骤 1 中不存在 SSH 密钥,或者你想要生成一个新的密钥对,执行以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

在这个命令中,将 “your_email@example.com” 替换为你的 GitHub 注册邮箱。按照提示,你可以选择为新密钥指定文件名和路径,或者直接按 Enter 使用默认路径。

我的终端输出:

base) l@l:~$ ssh-keygen -t rsa -b 4096 -C "z@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/l/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/l/.ssh/id_rsa
Your public key has been saved in /home/l/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:RRTmtjOHhGF8mZgFKoCBHiRaArYWnnKXBlt8vzOFlS4 z@163.com
The key's randomart image is:
+---[RSA 4096]----+
|O*+..  .+**=     |
|B++=...o+**      |
|+=+ =....==      |
|oo o .  E+oo     |
|        S+= .    |
|        +  +     |
|         o       |
|                 |
|                 |
+----[SHA256]-----+

如果出现以上打印内容, 则说明你生成成功了

步骤 3: 添加 SSH 密钥到 SSH-Agent

运行以下命令将 SSH 密钥添加到 SSH-Agent:

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

我的终端输出:

(base) l@l:/media/l$ eval "$(ssh-agent -s)"
Agent pid 152382
(base) l@l:/media/l$ ssh-add ~/.ssh/id_rsa
Identity added: /home/l/.ssh/id_rsa (z@163.com)
(base) l@l:/media/l$ xclip -sel clip < ~/.ss

步骤 4: 复制 SSH 公钥

执行以下命令来将 SSH 公钥复制到剪贴板:

xclip -sel clip < ~/.ssh/id_rsa.pub

我的终端输出:

(base) l@l:/media/ls$ xclip -sel clip < ~/.ssh/id_rsa.pubCommand 'xclip' not found, but can be installed with:sudo apt install xclip

如果没有安装 xclip,你可以使用以下命令:

sudo apt-get install xclip

再次运行:

xclip -sel clip < ~/.ssh/id_rsa.pub

步骤 5: 将 SSH 公钥添加到 GitHub

登录到你的 GitHub 帐户。

在右上角,点击你的头像,然后选择 “Settings”。

在左侧导航栏中,点击 “SSH and GPG keys”。

点击 “New SSH key”。

在 “Title” 字段中,为密钥提供一个描述性的名称。

在 “Key” 字段中,粘贴你复制的 SSH 公钥。

点击 “Add SSH key”。

步骤 6: 测试 SSH 连接

最后,为了测试是否成功,运行以下命令:

ssh -T git@github.com

如果一切设置正确,你将看到类似以下的消息:

Hi your_username! You've successfully authenticated, but GitHub does not provide shell access.

至此,你已经成功生成并添加 SSH 密钥,可以使用 SSH 协议与 GitHub 进行通信。


总结

okok ,以上就是构建github中SSH密钥的流程,如有不当之处,还请大家斧正!!!!

http://www.lryc.cn/news/287619.html

相关文章:

  • linux-centos服务器离线安装yapi(包含nodejs、mongodb、yapi、pm2离线安装)
  • 手撕重采样,考虑C的实现方式
  • 网络安全产品之认识入侵防御系统
  • ​第20课 在Android Native开发中加入新的C++类
  • python学习笔记11(程序跳转语句、空语句)
  • C. Doremy‘s City Construction(二分图问题)
  • PHP“引用”漏洞
  • 计算机网络-AAA原理概述
  • Oracle BIEE 示例(一)数据透视表2
  • 算法训练营Day50(动态规划11)
  • DS:顺序表的实现(超详细!!)
  • 用flinkcdc debezium来捕获数据库的删除内容
  • mariadb数据库从入门到精通
  • LabVIEW探测器CAN总线系统
  • 侧输出流(Side Output)
  • Vue 动态组件与异步组件:深入理解与全面应用
  • Zephyr 源码调试
  • 数学建模绘图
  • 代码随想录算法训练营第十天 | 239.滑动窗口最大值、347.前K个高频元素
  • 【Godot4自学手册】第五节用GDScript语言让主人公动起来
  • 被问到Tomcat是什么该怎么回答?他还有一个好帮手JDK你知道吗?
  • 【Web前端实操11】定位实操_照片墙(无序摆放)
  • 图像处理------调整色调
  • 【操作系统】实验七 显示进程列表
  • [实战]加密传输数据解密
  • yarn install 报错 证书过期 Certificate has expired
  • 多流转换 (分流,合流,基于时间的合流——双流联结 )
  • Linux破解密码
  • ABAP 批导demo调用SM30表维护demo
  • Mysql 文件导入与导出