每次登录还在敲密码:openEuler上SSH密钥免密登录一次配好

运维几台 openEuler 服务器的人,多半每天都要重复同一个动作:ssh 连上去,敲一遍密码。密码敲多了不仅烦,还有两个实际问题——脚本和定时任务没法带密码自动登录;开放密码登录的服务器,端口暴露在外总有人拿着密码字典轮番试。SSH 密钥登录把这两个问题一起解决:一次配置,之后登录免密,还可以顺手把密码登录关掉。下面按官方文档思路走一遍。

第一步,在客户端生成密钥对。

ssh-keygen -t rsa

在管理机(自己办公的 Linux 或 openEuler 终端)上执行,一路回车使用缺省路径与空口令即可;对安全要求高的环境可以在提示时给私钥设置保护口令。执行后生成一对密钥:私钥留在本机(缺省 ~/.ssh/id_rsa),公钥(~/.ssh/id_rsa.pub)稍后发到服务器。

第二步,把公钥安装到服务器。

ssh-copy-id 用户名@服务器地址

这条命令把公钥追加到服务器上相应用户的 ~/.ssh/authorized_keys 文件里,并自动处理好权限。手动操作的话,把公钥内容追加进 authorized_keys 后,确认 ~/.ssh 目录权限为 700、authorized_keys 权限为 600——权限过宽时 sshd 会拒绝使用密钥,这是新手最常踩的坑。openEuler 缺省已运行 sshd,无需额外安装。

第三步,验证免密登录,再收紧密码登录。

ssh 用户名@服务器地址

不再提示输密码、直接进入 shell,说明密钥生效。确认所有管理机的密钥都能正常登录后,再修改服务器 /etc/ssh/sshd_config:把 PasswordAuthentication 设为 no,重载服务(systemctl reload sshd)关闭密码登录。改之前务必另开一个会话保持在线测试,别把自己锁在外面。

三点提醒:一是私钥绝对不能外传,换了电脑就重新生成一对,别用 U 盘拷私钥;二是关闭密码登录前,先确认密钥登录在所有常用入口(办公机、跳板机、备用笔记本)都验证通过,并保留控制台访问途径兜底;三是定期检查 authorized_keys,离职人员的公钥要及时清掉——密钥比密码更容易被遗忘在配置里。免密与安全并不矛盾,配好密钥的服务器,登录更快,被爆破的风险反而更小。贵州诚鑫致达科技为企业搭建与运维 Linux 服务器环境,欢迎在各大平台搜索关注"贵州诚鑫致达科技",了解我们的做法。

(约 900 字)


企业存储选型参考|贵州诚鑫致达

做机架式部署与数据中心扩容,群晖机型参考:RS2423RP+ · RS1221+ · RS822+。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。重庆企业 NAS 存储、服务器运维与容灾备份方案。