Linux 服务器操作速查卡
2025 年 3 月 8 日
第零部分 SSH 连接 #
1.1 什么是 SSH #
- SSH 是一种「隧道」,架在网络上的两台机器之间,隧道中可以传输各种东西,最常见的是终端(命令行、shell)。
- 发起 SSH 的一方称为「本地」,被连接的一方称为「远端」。
第一部分 SSH 密钥连接 #
1.1 公钥与私钥概述 #
- 在 SSH 连接中,公钥与私钥主要用来供**远端(被连接者)检查本地(发起连接者)**的身份。(也可以供本地检查远端的身份。)
- 公钥像一把锁,私钥像这把锁的钥匙。持有公钥的人,可以验证别人是否持有私钥,但是不能反推出私钥。
- 需要发起连接的一方(本地),准备好自己的公钥和私钥,然后将公钥交给被连接一方(远端)。这样需要连接时,本地就可以用私钥开锁了。
1.2 生成密钥 #
在本地生成一对公私钥的命令是:
ssh-keygen -t <算法>
其中
<算法>
可以是rsa
(常用)、ed25519
(常用、首选)和其他。上述命令会询问一大堆信息,所有问题直接按回车都可以选择默认值。
默认情况下,生成的一对密钥会放在
~/.ssh
下:- 公钥是
~/.ssh/id_<算法名>.pub
; - 私钥是
~/.ssh/id_<算法名>
。
- 公钥是
在任何情况下,都不会需要我们打开私钥文件并复制其中的内容。需要你复制内容的只有可能是公钥!
1.3 将公钥登记到远端 #
我们需要将自己的公钥登记到远端,这样,远端才可以用它来验证我们的身份。
将自己的公钥内容复制,然后追加到远端的
~/.ssh/authorized_keys
文件末尾即可。注意:复制的是公钥文件,扩展名是
.pub
,内容格式为:ssh-<算法名> <叽哩呱啦一大堆> <用户名>@<机器名>
整个文件只有一行。