抖音头像的网站制作教程,市场推广和销售的区别,国内出名网站建设设计公司,提供企业门户网站建设提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言SSH基于账号口令的安全验证通过SSH连接到服务器打开终端#xff08;命令行界面#xff09;使用 SSH 命令连接#xff1a; 在 Ubuntu 中生成 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
SSHSecure Shell是一种用于安全远程登录到计算机系统和执行命令的协议。它通过加密通信的方式确保用户在网络上的连接是安全的。
以下是 SSH 的主要特点和功能 安全性 SSH 提供了加密的通信包括身份验证和数据传输。这使得在不受信任的网络上安全地进行远程管理成为可能。 远程登录 SSH 允许用户从本地计算机登录到远程计算机系统并在远程系统上执行命令。 文件传输 SSH 支持安全的文件传输允许用户在本地和远程系统之间传输文件。 端口转发 SSH 可以用于设置端口转发将本地计算机的端口映射到远程计算机上实现安全的网络服务。 公钥身份验证 SSH 支持公钥身份验证允许用户通过公钥和私钥对进行身份验证而无需输入密码。 代理 SSH 代理ssh-agent可用于缓存和管理用户的私钥以便在会话期间无需再次输入密码。 隧道 SSH 支持创建安全的通信隧道用于加密和保护网络上的数据传输。 基于账号口令的安全验证
基于账号口令的安全验证是一种常见的身份验证机制用户需要提供正确的账号用户名和口令密码才能访问系统或服务。这种验证方式的基本原理如下 账号 用户需要提供其唯一标识通常是一个用户名。这是用于标识用户身份的信息。 口令 用户必须提供与其账号相关联的密码。这是一个保密信息只有用户本人应该知道。密码通常通过哈希算法进行存储以增加安全性。 验证过程 当用户尝试登录或访问系统时输入的账号和口令将与系统中存储的相应信息进行比对。如果输入的信息与系统记录的匹配用户将被授权访问。 安全性考虑为了增加安全性密码应该足够复杂并且定期更新。系统还可以采用一些防护措施如账号锁定一定次数失败后锁定账号、多因素认证等。 通过SSH连接到服务器
通过 SSH 连接到服务是通过 Secure ShellSSH协议建立远程连接的过程。以下是连接到服务的基本步骤
打开终端命令行界面
使用 SSH 命令连接
在终端中使用 ssh 命令来建立 SSH 连接。基本的 SSH 连接命令格式如下
ssh usernamehostnameusername 是远程服务器上的用户名。 hostname 是远程服务器的主机名或 IP 地址。
例如
ssh userexample.com或者如果使用 IP 地址
ssh user192.168.1.100输入密码 如果是首次连接或之前未缓存过该服务器的公钥系统会要求输入密码。输入正确的密码后按回车键。 认证过程 SSH 将进行身份验证并建立加密连接。一旦认证成功你将进入远程服务器的命令行界面。
如果连接成功你就可以在远程服务器上执行命令、编辑文件等操作。在连接的过程中SSH 会确保通信是加密的从而提供了一种安全的远程访问方式。
在 Ubuntu 中生成 SSH 密钥并将其添加到 GitHub 的步骤如下
步骤 1: 检查现有 SSH 密钥
首先检查是否已经存在 SSH 密钥。打开终端并执行以下命令
ls -al ~/.ssh查看目录中是否存在 id_rsa 和 id_rsa.pub 文件。如果这两个文件存在你已经有了一个 SSH 密钥。
我的终端输出
(base) ll:~$ l -al ~/.ssh
总用量 16
drwxrwxr-x 2 l l 4096 9月 11 14:44 .
drwxr-xr-x 61 l l 4096 1月 24 11:24 ..
-rw-rw-r-- 1 l l 113 9月 13 13:58 config
-rw-r--r-- 1 l l 2440 11月 30 18:11 known_hosts
即是没有相应的文件于是执行下面的命令
步骤 2: 生成新的 SSH 密钥
如果在步骤 1 中不存在 SSH 密钥或者你想要生成一个新的密钥对执行以下命令
ssh-keygen -t rsa -b 4096 -C your_emailexample.com在这个命令中将 “your_emailexample.com” 替换为你的 GitHub 注册邮箱。按照提示你可以选择为新密钥指定文件名和路径或者直接按 Enter 使用默认路径。
我的终端输出
base) ll:~$ ssh-keygen -t rsa -b 4096 -C z163.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 z163.com
The keys randomart image is:
---[RSA 4096]----
|O*.. .** |
|B...o** |
| .... |
|oo o . Eoo |
| S . |
| |
| o |
| |
| |
----[SHA256]-----
如果出现以上打印内容, 则说明你生成成功了
步骤 3: 添加 SSH 密钥到 SSH-Agent
运行以下命令将 SSH 密钥添加到 SSH-Agent
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa我的终端输出
(base) ll:/media/l$ eval $(ssh-agent -s)
Agent pid 152382
(base) ll:/media/l$ ssh-add ~/.ssh/id_rsa
Identity added: /home/l/.ssh/id_rsa (z163.com)
(base) ll:/media/l$ xclip -sel clip ~/.ss步骤 4: 复制 SSH 公钥
执行以下命令来将 SSH 公钥复制到剪贴板
xclip -sel clip ~/.ssh/id_rsa.pub我的终端输出
(base) ll:/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 gitgithub.com如果一切设置正确你将看到类似以下的消息
Hi your_username! Youve successfully authenticated, but GitHub does not provide shell access.至此你已经成功生成并添加 SSH 密钥可以使用 SSH 协议与 GitHub 进行通信。 总结
okok 以上就是构建github中SSH密钥的流程如有不当之处还请大家斧正