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

无密码登录原理

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

  • 私钥(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)
酷番叔酷番叔
上一篇 2025年7月18日 21:15
下一篇 2025年7月18日 21:24

相关推荐

  • 如何用u盘安装kali linux系统

    Kali Linux镜像写入U盘,设置BIOS从U盘启动,按提示安装即可,注意

    2025年8月16日
    11800
  • Linux如何正确退出程序?

    终端中运行的前台程序正常退出(推荐)多数程序内置退出命令:输入 q 或 quit 后按回车(如nano编辑器),按 Ctrl + D(发送EOF信号,适用于Python交互模式等),通用快捷键:Ctrl + C:强制终止当前命令(适用于无退出命令的程序,如ping),强制终止无响应程序按 Ctrl + Z 暂停……

    2025年7月15日
    11700
  • Linux安装软件有哪些命令行与图形界面的具体方法?

    在Linux系统中,安装软件与Windows或macOS差异较大,因其发行版众多(如Ubuntu、CentOS、Arch Linux等),且依赖管理机制不同,需根据场景选择合适方法,以下是常见安装方式的详细说明,涵盖基础操作、工具使用及注意事项,使用系统包管理器安装(推荐日常使用)系统包管理器是Linux发行版……

    2025年9月16日
    9600
  • 如何高效使用 ip 命令?

    在Linux系统中查看内网IP地址是网络配置和故障排查的基础操作,内网IP(通常指私有IP地址,如x.x.x、16.x.x-172.31.x.x、168.x.x)用于局域网内设备通信,以下是6种专业方法,适用于大多数Linux发行版(Ubuntu、CentOS、Debian等),按使用频率排序:最现代且全面的工……

    2025年7月21日
    13300
  • 如何进入BIOS/UEFI?不依赖系统,任何电脑通用!

    进入BIOS/UEFI设置是计算机启动初期的硬件层操作,由主板固件控制,其触发方式(特定按键如Del/F2)由硬件制造商设定,完全独立于安装在硬盘上的操作系统(如Windows、Linux或macOS),无论系统存在与否或类型如何均可进入。

    2025年7月13日
    12500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信