@@ -18,11 +18,11 @@ SSH(Secure Shell)是一种加密的网络传输协议,可以在不安全
1818
1919## 2. 生成 SSH 密钥对
2020
21- 下文将引导大家创建自己的 Ed25519 算法加密的 SSH 密钥对。不过,如果你已经有了 RSA 算法加密的密钥对,不用担心,它也能正常工作。
21+ 下面介绍常用的 RSA 算法加密和 Ed25519 算法加密两种SSH密钥对,分别命名为 ` id_rsa ` , ` id_rsa.pub ` 和 ` id_ed25519 ` , ` id_ed25519.pub ` 文件。当今系统通常推荐使用Ed25519算法加密,不过现阶段我们不需要区分这两种加密具体区别。如果你很好奇这两种加密方式的优劣性,可以参阅 [ 这篇文章 ] ( https://blog.csdn.net/orange160/article/details/142856412 )
2222
2323### 检查现有密钥
2424
25- 在生成新密钥之前,先检查是否已经存在 SSH 密钥:
25+ 在生成新密钥之前,务必先检查是否已经存在 SSH 密钥:
2626
2727``` bash
2828ls ~ /.ssh
@@ -34,14 +34,18 @@ ls ~/.ssh
3434>
3535> 如果你有 ` id_rsa ` 和 ` id_rsa.pub ` 文件(由 RSA 算法加密),或 ` id_ed25519 ` 和 ` id_ed25519.pub ` 文件(由 Ed25519 算法加密),说明你已经有 SSH 密钥对了。可以移步到[ 向他人分享你的公钥] ( #向他人分享你的公钥 ) 。
3636
37- ### 生成新的密钥对
37+ ### 生成新的Ed25519密钥对
3838
3939在终端中输入以下命令生成 SSH 密钥对:
4040
4141``` bash
4242ssh-keygen
4343```
4444
45+ > [ !tip]
46+ >
47+ > 在有些网站上,你会看到上面的方式生成了RSA密钥对,这是基于比较老的系统。在现在大多数最新的系统中,使用上述方法生成的密钥对默认是Ed25519加密的。
48+
4549执行上述命令后,系统会提示你进行一系列配置。除非你有配置 passphrase 的需求并且知道自己在做什么,否则连按三个回车即可。
4650
4751``` bash
@@ -60,28 +64,88 @@ ls ~/.ssh
6064
6165你应该能看到以下文件:
6266
63- - ` id_ed25519 ` :私钥文件(请妥善保管,不要泄露)
67+ - ` id_ed25519 ` :私钥文件(** 请妥善保管,不要泄露** )
6468- ` id_ed25519.pub ` :公钥文件(可以安全地分享给服务器)
6569
6670私钥和公钥统称为一组“密钥”或“密钥对”。
6771
6872### 向他人分享你的公钥
6973
70- 如果你使用 RSA 算法加密的密钥,在终端中运行下面的命令:
74+ 在终端中运行下面的命令:
75+
76+ ``` bash
77+ cat ~ /.ssh/id_ed25519.pub
78+ ```
79+
80+ 观察到输出为 ` ssh-ed25519 xxxxxxxxxxxxxxx xxxxx@xxxx ` ,这就是你的公钥,可以复制并分享给他人。
81+
82+ ### 生成新的RSA密钥对
83+
84+ 在终端中输入以下命令生成 SSH 密钥对:
85+
86+ ``` bash
87+ ssh-keygen -t rsa
88+ ```
89+
90+ 执行上述命令后,系统会提示你进行一系列配置。除非你有配置 passphrase 的需求并且知道自己在做什么,否则连按三个回车即可。
91+
92+ ``` bash
93+ Generating public/private rsa key pair.
94+ Enter file in which to save the key (/home/kano/.ssh/id_rsa):
95+ Enter passphrase (empty for no passphrase):
96+ Enter same passphrase again:
97+ ```
98+
99+ ### 验证密钥生成
100+
101+ 密钥生成完成后,你可以查看生成的文件:
102+
103+ ``` bash
104+ ls ~ /.ssh
105+ ```
106+
107+ 你应该能看到以下文件:
108+
109+ - ` id_rsa ` :私钥文件(** 请妥善保管,不要泄露** )
110+ - ` id_rsa.pub ` :公钥文件(可以安全地分享给服务器)
111+
112+ 私钥和公钥统称为一组“密钥”或“密钥对”。
113+
114+ ### 向他人分享你的公钥
115+
116+ 在终端中运行下面的命令:
71117
72118``` bash
73119cat ~ /.ssh/id_rsa.pub
74120```
75121
76- 如果你使用 Ed25519 算法加密的密钥,在终端中运行下面的命令:
122+ 观察到输出为 ` ssh-rsa xxxxxxxxxxxxxxx xxxxx@xxxx ` ,这就是你的公钥,可以复制并分享给他人。
123+
124+ ## 3. 删除密钥对
125+
126+ 注意,本模块内容仅作为了解,供忘记了密码的同学参考以重置SSH。其他同学不需要执行。另外,如果在此处重置了SSH,你还需要在GitHub中重新上传新的SSH:
127+
128+ ### 检查现有密钥
129+
130+ 在删除密钥之前,务必先检查是否已经存在 SSH 密钥:
131+
132+ ``` bash
133+ ls ~ /.ssh
134+ ```
135+
136+ 如果目录不存在或为空,说明你还没有 SSH 密钥,忽略这个模块吧~
137+
138+ ### 删除密钥对
139+
140+ *** 使用bash命令删除文件需要非常小心,我们强烈建议你直接复制以下代码指令**
77141
78142``` bash
79- cat ~ /.ssh/id_ed25519.pub
143+ rm -rf ~ /.ssh/*
80144```
81145
82- 观察到输出为 ` ssh-rsa xxxxxxxxxxxxxxx xxxxx@xxxx ` 或 ` ssh-ed25519 xxxxxxxxxxxxxxx xxxxx@xxxx ` ,这就是你的公钥,可以复制并分享给他人 。
146+ 或者你也可以使用 ` cd . ssh` 导航到存储ssh的文件夹直接删除相应的密钥 。
83147
84- ## 3 . 使用 VS Code 的 Remote 插件进行远程开发
148+ ## 4 . 使用 VS Code 的 Remote 插件进行远程开发
85149
86150注意,下面的操作请在已经分配到服务器之后再执行。
87151
0 commit comments