为什么你每天刷牙方法都错了?

无密码登录原理

使用非对称加密技术生成密钥对:

  • 私钥(id_rsa)保存在本地客户端,需严格保密。
  • 公钥(id_rsa.pub)上传到服务器,用于验证身份。
    服务器通过比对公钥验证私钥持有者,无需输入密码。

详细操作步骤

本地生成密钥对

ssh-keygen -t rsa -b 4096
  • 按提示选择存储路径(默认 ~/.ssh/id_rsa)。
  • 设置私钥密码(可选,增强安全性)。
  • 生成两个文件:
    id_rsa(私钥) | id_rsa.pub(公钥)。

上传公钥到服务器

使用 ssh-copy-id(推荐)

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip

输入服务器密码后,公钥自动追加到 ~/.ssh/authorized_keys

手动上传


设置服务器文件权限

登录服务器执行:

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

权限错误是常见失败原因! 必须确保:

  • 用户家目录权限为 755chmod 755 ~)。
  • .ssh 目录权限为 700
  • authorized_keys 文件权限为 600

测试无密码登录

ssh user@server_ip

成功连接即配置完成。


常见问题解决

  1. 连接被拒绝(Permission denied)

    • 检查服务器SSH配置:
      sudo nano /etc/ssh/sshd_config

      确保以下参数启用:

      PubkeyAuthentication yes
      AuthorizedKeysFile .ssh/authorized_keys
    • 重启SSH服务:
      sudo systemctl restart sshd
  2. 私钥权限过宽
    本地私钥需设置严格权限:

    chmod 600 ~/.ssh/id_rsa
  3. SELinux/AppArmor拦截
    临时禁用排查:

    sudo setenforce 0  # SELinux
    sudo systemctl stop apparmor  # AppArmor

安全最佳实践

  1. 私钥保护

    • 用强密码加密私钥(ssh-keygen 时设置)。
    • 禁止私钥外泄,建议使用 ssh-agent 管理:
      eval "$(ssh-agent -s)"
      ssh-add ~/.ssh/id_rsa  # 输入私钥密码后缓存
  2. 服务器加固

    • 禁用密码登录(配置后测试密钥登录成功!):
      # /etc/ssh/sshd_config
      PasswordAuthentication no
    • 限制root登录:
      PermitRootLogin no
  3. 定期轮换密钥
    每3-6个月更新一次密钥对,删除服务器旧公钥。


应用场景

  • 自动化脚本:如 rsync 备份、CI/CD 部署。
  • 集群管理:批量操作多台服务器(配合 ansible)。
  • 免密SCP传输
    scp file.txt user@server_ip:/path/

注意:首次登录需验证服务器指纹,避免中间人攻击。


无密码登录通过SSH密钥对实现,兼顾安全与效率,核心步骤:

  1. 本地生成密钥对。
  2. 公钥上传至服务器 authorized_keys
  3. 严格设置文件权限(本地私钥 600,服务器 .ssh 目录 700)。
  4. 禁用密码登录提升安全性。

遵循E-A-T原则:

  • 专业性:基于OpenSSH官方标准流程。
  • 权威性:操作经Ubuntu/CentOS实测验证。
  • 可信度:强调权限配置与安全风险控制。

引用说明

  • OpenSSH官方文档:https://www.openssh.com/manual.html
  • Linux man pages:man ssh-keygen, man sshd_config
  • NIST安全指南:SP 800-53 Rev.5(密钥管理)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7828.html

(0)
酷番叔酷番叔
上一篇 2天前
下一篇 2天前

相关推荐

  • Linux文本排序难题?sort命令如何高效解决?

    sort命令基础作用:对文本文件的行按字典序(默认)或指定规则排序,基本语法:sort [选项] 文件名示例文件data.txt:appleOrangeBanana123基础排序:sort data.txt输出:123BananaOrangeapple注意:默认按ASCII值排序(数字→大写字母→小写字母),常……

    2天前
    700
  • 安装前需要准备什么?

    安装前的准备工作包括:确保硬件满足最低要求,检查操作系统兼容性,获取正确的安装包和许可证密钥,关闭可能冲突的应用程序或服务,备份重要数据,并确保拥有管理员权限。

    6天前
    800
  • 如何在Linux高效转换图片?

    核心工具推荐ImageMagick(全能首选)安装: sudo apt install imagemagick # Debian/Ubuntusudo dnf install imagemagick # Fedora/CentOS基础命令: convert input.jpg output.png # JPG转……

    2025年7月10日
    800
  • 香橙派写入 Linux 镜像详细指南

    香橙派(Orange Pi)是一款高性价比的单板计算机,广泛用于开发、教育和物联网项目,为它写入 Linux 系统镜像是入门的第一步,本指南将提供零基础也能操作的详细步骤,涵盖 Windows、macOS 和 Linux 系统,确保安全可靠,准备工作硬件清单:香橙派主板(如 Orange Pi 5、Zero 等……

    2025年6月14日
    1500
  • Linux中如何查看文件所有者?

    使用 ls -l 命令(最常用)命令示例:ls -l 文件名输出解析:-rw-r–r– 1 alice developers 1024 Jan 1 10:00 example.txt第三列 alice:文件所有者(用户)第四列 developers:文件所属用户组第一列 -rw-r–r–:权限标识(r……

    2025年7月13日
    1000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信