Linux服务器远程管理教程_SSH配置与密钥认证实践

5次阅读

SSH 密钥认证是 Linux 服务器最安全远程管理方式,需启用 SSHD 服务、生成 ed25519 密钥对、部署公钥至 authorized_keys、禁用密码登录,并可通过 ssh-config 简化连接。

Linux 服务器远程管理教程_SSH 配置与密钥认证实践

Linux 服务器远程管理最常用、最安全的方式就是 SSH,而密钥认证比密码登录更可靠、更高效。只要配置正确,一次设置长期受益,还能有效防止暴力破解。

启用并检查 SSH 服务

大多数 Linux 发行版默认已安装 OpenSSH 服务,但未必开机自启。先确认服务状态:

  • 运行 systemctl status sshd(CentOS/RHEL)或 systemctl status ssh(Ubuntu/Debian)查看是否运行
  • 若未启动,执行 systemctl start sshd 并设为开机自启:systemctl enable sshd
  • 防火墙 需放行 22端口(或你自定义的 SSH 端口),例如:ufw allow 22firewall-cmd –permanent –add-port=22/tcp

生成并部署 SSH 密钥对

密钥认证的核心是“本地私钥 + 服务器公钥”配对。不要在服务器上生成密钥,应在你日常使用的终端(如 Mac 或 Windows 的 WSL)中操作:

  • 执行 ssh-keygen -t ed25519 -C “your_email@example.com”(推荐 ed25519 算法,速度快且安全性高)
  • 按回车接受默认路径(~/.ssh/id_ed25519),可选设密钥口令(passphrase)增强本地防护
  • ssh-copy-id user@server_ip 自动将公钥(id_ed25519.pub)追加到服务器的 ~/.ssh/authorized_keys
  • ssh-copy-id 不可用,可手动复制公钥内容,登录服务器后粘贴进 ~/.ssh/authorized_keys,注意权限设为 600:chmod 600 ~/.ssh/authorized_keys

禁用密码登录,强化安全

密钥就绪后,应关闭密码认证,彻底杜绝暴力尝试。编辑服务器上的 SSH 主 配置文件

  • 运行 sudo nano /etc/ssh/sshd_config
  • 找到并修改两行:
    PasswordAuthentication no
    PermitRootLogin no(禁止 root 直接登录,推荐用普通用户 +sudo)
  • 保存后重启服务:sudo systemctl restart sshd
  • ⚠️ 操作前务必确保当前密钥已验证可用(新开一个终端测试登录),避免被锁在外

进阶建议:提升便捷性与可维护性

日常使用中,几个小调整能让 SSH 更顺手:

  • 在本地 ~/.ssh/config 中添加主机别名,例如:
    Host myserver
        HostName 192.168.1.100
        User admin
        IdentityFile ~/.ssh/id_ed25519

    之后只需输入 ssh myserver 即可连接
  • 考虑修改默认端口(如改为 2222),虽不能替代密钥,但能减少扫描日志干扰;记得同步更新防火墙和 sshd_config 中的 Port 配置
  • 定期轮换密钥:删除旧公钥、生成新密钥对、重新部署,尤其当本地设备丢失或人员变动时
星耀云
版权声明:本站原创文章,由 星耀云 2026-01-05发表,共计1296字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources