top
本文目录
免密登录基本原理
客户端密钥生成流程
服务器端公钥部署
方法一:ssh-copy-id自动化部署
方法二:手动部署
服务端SSH配置验证
免密登录功能测试
安全强化措施
排错要点

centos7.4 免密登陆

CentOS7.4 SSH免密登录配置指南

免密登录基本原理

SSH免密登录通过非对称加密技术实现认证,客户端生成公钥/私钥对后,将公钥部署至目标服务器的~/.ssh/authorized_keys文件。后续连接时,服务端使用公钥验证客户端持有的私钥,替代传统密码验证。

客户端密钥生成流程

ssh-keygen -t rsa -b 4096
# 默认保存至~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)
# 生成过程可设置密钥保护密码(非必须)

执行后检查~/.ssh目录,确认成功生成密钥文件。

服务器端公钥部署

方法一:ssh-copy-id自动化部署

ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_ip
# 按提示输入服务器用户密码
# 公钥将自动追加至服务器~/.ssh/authorized_keys

方法二:手动部署

  1. 复制本地公钥内容:cat ~/.ssh/id_rsa.pub
  2. 登录服务器创建目录:mkdir -p ~/.ssh && chmod 700 ~/.ssh
  3. 写入公钥:echo "公钥内容" >> ~/.ssh/authorized_keys
  4. 设置文件权限:chmod 600 ~/.ssh/authorized_keys

权限错误将导致认证失败,需确保:用户家目录权限≤755,.ssh目录权限为700,authorized_keys文件权限为600。

服务端SSH配置验证

sudo vi /etc/ssh/sshd_config
# 确认以下参数配置:
# PubkeyAuthentication yes
# AuthorizedKeysFile .ssh/authorized_keys

修改后重启SSH服务:sudo systemctl restart sshd

免密登录功能测试

ssh user@remote_ip
# 成功登录即表示配置正确
# 调试命令:ssh -vT user@remote_ip

安全强化措施

  • 禁用密码认证:/etc/ssh/sshd_config中设置PasswordAuthentication no
  • 限制登录用户:AllowUsers your_username
  • 定期轮换密钥:每3-6个月更新密钥对
  • 私钥文件加密:生成密钥时设置保护密码

排错要点

  • 日志检查tail -f /var/log/secure
  • 文件权限验证:确认目录权限700、文件权限600
  • SELinux影响:restorecon -Rv ~/.ssh重置安全上下文
  • 公钥格式:确保文件为单行文本无多余空格

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报