服务器连接指南: SSH公私钥认证

EEva·二月 26, 2026·2 min read

核心原理

SSH 免密登录的核心逻辑是"认卡不认人":将本地电脑的公钥(Public Key),存入线上服务器的信任白名单(authorized_keys)中。以后只要本地的私钥能和服务器上的公钥配对成功,就能直接登录,无需输入密码。

本地的私钥能和服务器上的公钥配对成功,就能直接登录,无需输入密码。

操作步骤解析

第一步:在「本地电脑」获取公钥

$ cd ~/.ssh                      # 进入本地SSH配置目录
$ ls                             # 查看目录内容
$ cat id_ed25519.pub             # 查看并输出公钥内容
  • 在做什么: 去本地的密钥存放地(~/.ssh),找到你的公钥文件(包含 .pub 后缀,代表 Public),把里面以 ssh-ed25519... 开头的内容全部复制下来。
  • 补充说明: 这里使用的是 ed25519 算法的密钥,这是目前推荐的类型,比传统的 rsa 更安全且更短、解析更快。

第二步:在「线上服务器」配置白名单

ubuntu@VM-0-14-ubuntu:~$ cd .ssh           # 进入服务器的SSH目录
ubuntu@VM-0-14-ubuntu:~/.ssh$ ls            # 查看现有文件
ubuntu@VM-0-14-ubuntu:~/.ssh$ vim authorized_keys # 编辑信任名单
  • 在做什么: 登录服务器后,打开存放信任名单的 authorized_keys 文件。
  • 最终操作: 将第一步复制的本地公钥,另起一行粘贴进去。保存并退出 vim(按 Esc,输入 :wq 回车)。

第三步:享受免密登录

现在,在本地电脑终端直接输入 ssh ubuntu@服务器IP,即可瞬间连上,不再提示输入密码。

涉及的核心文件说明

文件名 作用 存放位置 绝对不能泄露吗?
id_ed25519 私钥 (Private Key):用来证明"你是你"的唯一凭证。 本地电脑 🚫 绝对不能
id_ed25519.pub 公钥 (Public Key):用来给别人验证"你确实是你"的锁。 本地电脑 / 要登录的设备 ✅ 可以公开
authorized_keys 信任白名单:里面登记了所有被允许免密登录这台服务器的公钥。 线上服务器 🔒 仅管理员可控

💡 拓展小贴士: 如果是新电脑,连第一步的 id_ed25519 文件都没有,只需要在本地执行 ssh-keygen -t ed25519 即可一键生成。对于上述的复制粘贴操作,也可以直接用一条命令代替:ssh-copy-id ubuntu@服务器IP