将服务器设置为密钥登陆
侧边栏壁纸
  • 累计撰写 20 篇文章
  • 累计收到 0 条评论

将服务器设置为密钥登陆

晨旭不想写程序
2026-01-16 / 0 评论 / 2 阅读 / 正在检测是否收录...

将服务器更改为密钥登录(SSH Key Authentication)是提高服务器安全性的最佳实践之一。它不仅比密码更安全(防止暴力破解),而且登录也更方便。

第一步:在本地机器生成密钥对
如果你还没有密钥对,请在你的本地电脑(Windows PowerShell、Mac 或 Linux 终端)上运行以下命令:

ssh-keygen -t rsa -b 4096

提示: 系统会询问保存路径(默认即可)和密码短语(Passphrase)。密码短语是给私钥加的二次锁,建议设置。

执行完成后,你会得到两个文件:

id_rsa(私钥:绝对不能泄露给任何人!)

id_rsa.pub(公钥:要上传到服务器的文件)

第二步:将公钥上传到服务器
你需要将本地生成的 id_rsa.pub 内容复制到服务器上的 ~/.ssh/authorized_keys 文件中。

方法 A:使用 ssh-copy-id(最推荐,最简单)
在本地终端输入:

ssh-copy-id 用户名@服务器IP

输入一次服务器密码后,公钥会自动安装完成。

方法 B:手动复制(如果方法 A 不可用)
在本地查看并复制公钥内容:cat ~/.ssh/id_rsa.pub

登录服务器,执行:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "你的公钥字符串" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

第三步:测试密钥登录
在进行后续高风险操作前,请先验证密钥是否生效:

ssh 用户名@服务器IP

如果无需输入服务器密码(或只需输入你设置的私钥密码短语)即可登录,说明设置成功。

第四步:禁用密码登录(安全加固)
确认密钥登录成功后,你可以关闭密码登录以彻底杜绝暴力破解。

编辑 SSH 配置文件:

sudo nano /etc/ssh/sshd_config


修改以下关键参数(如果前面有 # 号请去掉):

Plaintext

PubkeyAuthentication yes      # 允许公钥登录
PasswordAuthentication no     # 禁止密码登录
ChallengeResponseAuthentication no
UsePAM no                     # 如果你不需要通过 PAM 认证

重启 SSH 服务:

sudo systemctl restart ssh

0

评论 (0)

取消