计算机技术学习札记

Linux 服务器操作速查卡


2025 年 3 月 8 日

第零部分 SSH 连接 #

1.1 什么是 SSH #

  1. SSH 是一种「隧道」,架在网络上的两台机器之间,隧道中可以传输各种东西,最常见的是终端(命令行、shell)。
  2. 发起 SSH 的一方称为「本地」,被连接的一方称为「远端」。

第一部分 SSH 密钥连接 #

1.1 公钥与私钥概述 #

  1. 在 SSH 连接中,公钥与私钥主要用来供**远端(被连接者)检查本地(发起连接者)**的身份。(也可以供本地检查远端的身份。)
  2. 公钥像一把锁,私钥像这把锁的钥匙。持有公钥的人,可以验证别人是否持有私钥,但是不能反推出私钥。
  3. 需要发起连接的一方(本地),准备好自己的公钥和私钥,然后将公钥交给被连接一方(远端)。这样需要连接时,本地就可以用私钥开锁了。

1.2 生成密钥 #

  1. 在本地生成一对公私钥的命令是:

    ssh-keygen -t <算法>
    

    其中 <算法> 可以是 rsa(常用)、ed25519(常用、首选)和其他。

  2. 上述命令会询问一大堆信息,所有问题直接按回车都可以选择默认值。

  3. 默认情况下,生成的一对密钥会放在 ~/.ssh 下:

    1. 公钥是 ~/.ssh/id_<算法名>.pub
    2. 私钥是 ~/.ssh/id_<算法名>
  4. 在任何情况下,都不会需要我们打开私钥文件并复制其中的内容。需要你复制内容的只有可能是公钥!

1.3 将公钥登记到远端 #

  1. 我们需要将自己的公钥登记到远端,这样,远端才可以用它来验证我们的身份。

  2. 将自己的公钥内容复制,然后追加到远端的 ~/.ssh/authorized_keys 文件末尾即可。

  3. 注意:复制的是公钥文件,扩展名是 .pub,内容格式为:

    ssh-<算法名> <叽哩呱啦一大堆> <用户名>@<机器名>
    

    整个文件只有一行。