SSH密钥

2022-3-22 大约 3 分钟

# SSH密钥

# 创建密钥

# Windows 创建密钥

PuTTY 是一个 SSH 和 telnet 客户端,可使用它登录 Linux 主机。 PuTTY 是开源软件,提供源代码,由一群志愿者开发和支持。

PuTTYGen 用来创建密钥对。

浏览到下面开发者页面 (opens new window),下载 PuTTY 的安装程序

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
1

下载的文件,按照安装向导完成安装。

也可以从以下链接中下载 PuTTY 的64 位绿色版。绿色版下载后可直接运行,免去安装过程。

PuTTY (opens new window)

PuTTYGen (opens new window)

运行 puttygen.exe ,在 PuTTY 密钥生成器窗口中,单击 【Generate】。在灰色框中移动光标以填充绿色条。

Generating an SSH key pair in Putty.

点击【Save public key】按钮 保存公钥

点击【Save private key】按钮 保存公钥

# Linux/MacOS 创建密钥

使用ssh-keygen 生成 SSH 密钥,密钥用来登录 Linux 主机。

ssh-keygen
1

image-20220421134040207

一路回车就可以完成 创建SSH 密钥,可以看到 ~/.ssh目录下生成了 id_rsaid_rsa.pub 两个文件

image-20220421134123430

#

# 密钥概述

CSDN开发云为您提供两种安全可靠的登录实例方式:密码登录及SSH密钥登录。其中只有Linux系统实例支持使用SSH密钥。

SSH密钥登录是指使用密钥技术对登录信息进行加密解密,为云主机提供一个较之密码登录更加安全的登录方式,进一步提升云主机的安全。

对于密钥登录,您需要创建一对唯一匹配密钥对:公钥私钥

  • 公钥需存储在CSDN开发云上,用于对数据进行加密。
  • 私钥由您在本地保存,私钥只能对与之匹配的公钥所加密的数据进行解密。

# 原理流程

使用SSH密钥登录实例过程如下:

image-20220315163246894

# 准备阶段:

  1. 在CSDN开发云控制台导入密钥
  2. 操作主机与密钥绑定后,平台会在主机再次启动时,通过内置的系统组件将公钥写入对应目录文件中(Linux系统下公钥存放在~/.ssh/authorized_keys目录中)。

# 证书校验交互阶段:

  1. 用户通过客户端发送登录请求至实例。
  2. 实例在对应用户目录及文件中读取到有效公钥,生成一串随机数,并使用公钥对其加密。
  3. 实例将加密数据返回至用户。
  4. 客户端使用本地私钥对数据进行解密。
  5. 客户端将解密结果返回至实例进行信息比对。若比对成功则用户登录成功,否则则登录失败。

CSDN开发云在控制台提供密钥创建、绑定及解绑操作入口,以便于进行密钥的管理,此外也支持您登录系统后自行进行相应的配置。