371 字
2 分钟
Linux 设置 SSH 密钥登录

前言#

SSH 密钥登录比密码登录更适合长期管理服务器:本地保存私钥,服务器只保存公钥。只要私钥不泄露,就不需要把密码暴露在每次登录过程中。

这篇笔记记录从生成密钥、上传公钥、验证登录,到关闭密码登录的完整流程。

生成 SSH 密钥#

在本地电脑执行:

Terminal window
ssh-keygen -t ed25519 -C "your_email@example.com"

一路回车会生成默认密钥文件:

Terminal window
~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

其中 id_ed25519 是私钥;id_ed25519.pub 是公钥。将他们都下载到本地,并删除服务器上的文件。

配置 authorized_keys#

编辑公钥文件:

Terminal window
nano ~/.ssh/authorized_keys

把本地 id_ed25519.pub 的内容粘贴进去,保存后设置权限:

Terminal window
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

权限不正确时,SSH 服务可能会拒绝使用密钥登录。

使用密钥登录#

在本地测试:

Terminal window
ssh -i ~/.ssh/id_ed25519 用户名@服务器IP

如果使用的是默认密钥文件,通常可以直接登录:

Terminal window
ssh 用户名@服务器IP

关闭密码登录#

确认密钥登录成功后,再关闭密码登录。建议先保留一个已经登录的 SSH 窗口,避免配置错误导致无法重新连接。

编辑 SSH 服务端配置:

Terminal window
sudo nano /etc/ssh/sshd_config

确认或添加以下配置:

PubkeyAuthentication yes
PasswordAuthentication no

保存后先检查配置是否正确:

Terminal window
sudo sshd -t

没有输出表示配置语法正常,然后重新加载 SSH 服务:

Terminal window
sudo systemctl reload sshd
Linux 设置 SSH 密钥登录
https://qiuxiaotao.com/posts/linux-ssh-key-setup/
作者
秋晓桃
发布于
2026-05-15
许可协议
CC BY-NC-SA 4.0