Linux配置SSH密钥实现安全免密服务器登录

张开发
2026/4/18 2:27:56 15 分钟阅读

分享文章

Linux配置SSH密钥实现安全免密服务器登录
SSH的诞生为Linux交互安全而生它是一个加密的网络传输协议旨在提供一个安全的方式来远程登录和执行命令除了现在我们使用密码登录外还可用配置ssh密钥登录好比现在智能门锁默认输入密码就可以开锁但密码更容易泄露或配置简单遭猜解、暴力破解这个时候ssh密钥就凸出他的安全优越性了ssh密钥用的是非对称加密它的安全性来自从公钥反推私钥在数学上计算破解几乎不可行的那我们把密钥生成私钥比如到制作成门禁卡取消掉密码开门只刷门禁开门是不是就等于拥有门禁的私钥这样安全性大大提高没有私钥人就进不来。一、SSH 密钥登录是什么SSH 密钥登录是非对称加密登录方式本地生成一对密钥私钥id_rsa公钥id_rsa.pub把公钥放到服务器登录时用私钥签名服务器用公钥验证全程不传输密码优点比密码登录安全得多防暴力破解、防中间人合理配置下支持免密、自动化脚本二、快速配置步骤1. 生成 SSH 密钥对ssh-keygen -t rsa -b 4096 -C your_emailmail.com-t rsa指定生成 RSA 类型的密钥。-b 4096指定密钥长度为 4096 位以提高安全性。-C your_emailmail.com你的电子邮件地址。运行上述命令后系统会提示你选择保存密钥的文件路径和设置密钥的密码可选。默认情况下密钥将保存在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub 文件中。2. 将公钥导入cd /root/.ssh/ cat id_rsa.pub authorized_keys3.下载密钥部分shell客户端可以直接使用sftp直接下载安装lrzsz#centos使用 dnf install lrzsz #debian、ubuntu使用 apt install lrzsz使用sz下载私钥:id_rsa 和 公钥:authorized_keyssz id_rsa authorized_keys删除服务器上密钥文件rm -rf id_rsa id_rsa.pub4.编辑sshd配置文件打开服务器上的 sshd 配置文件 /etc/ssh/sshd_configvim /etc/ssh/sshd_config修改 PubkeyAuthentication 和 PasswordAuthentication# 只允许密钥登录 PubkeyAuthentication yes # 禁用密码登录 PasswordAuthentication no重启sshd服务systemctl restart sshd三、注意事项SSH 密钥 比密码安全但私钥是命门私钥泄露 服务器直接送必须禁用密码 禁用 root 私钥加密 权限严格

更多文章