当前位置:首页 > 系统教程 > 正文

Ubuntu服务器SSH密钥登录配置全流程(跨平台安全登录保姆级教程)

Ubuntu服务器SSH密钥登录配置全流程(跨平台安全登录保姆级教程)

本教程将详细指导您在Ubuntu服务器上配置SSH密钥登录,覆盖Windows、Linux和macOS系统,确保远程连接的安全与高效。无论您是小白还是经验丰富的管理员,都能轻松跟随。

为什么使用SSH密钥登录?

SSH密钥登录是一种比密码登录更安全的方式,它使用公钥和私钥对进行身份验证,能有效防止暴力破解攻击。对于Ubuntu服务器管理,启用SSH密钥登录是提升服务器安全的关键步骤,同时简化远程连接流程。

准备工作

确保您有一台运行Ubuntu的服务器(推荐18.04或更高版本),并可以通过密码SSH登录。在本地计算机上,准备终端工具:Windows可使用PowerShell或Git Bash,Linux和macOS使用系统终端。

步骤一:生成SSH密钥对(所有平台通用)

在本地计算机上生成SSH密钥对。打开终端或PowerShell,运行以下命令(替换your_email@example.com为您的邮箱):

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按提示选择密钥保存路径(默认为~/.ssh/id_rsa),设置密钥密码(可选但推荐)。生成后,您将得到私钥(id_rsa)和公钥(id_rsa.pub)。私钥需本地保密,公钥将上传到服务器。

Ubuntu服务器SSH密钥登录配置全流程(跨平台安全登录保姆级教程) SSH密钥登录 Ubuntu服务器 远程连接 服务器安全 第1张

步骤二:将公钥上传到Ubuntu服务器

使用ssh-copy-id工具自动上传公钥(如果可用):

ssh-copy-id username@server_ip

输入服务器密码完成上传。如果ssh-copy-id不可用,可手动复制公钥内容到服务器的~/.ssh/authorized_keys文件中(需先登录服务器创建目录)。

步骤三:配置服务器SSH以启用密钥登录

登录Ubuntu服务器,编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到并修改以下行,确保设置正确:

  • PubkeyAuthentication yes(启用密钥认证)
  • PasswordAuthentication no(禁用密码登录,增强服务器安全
  • PermitRootLogin prohibit-password(可选,限制root登录)

保存文件后,重启SSH服务使配置生效:

sudo systemctl restart sshd

步骤四:测试SSH密钥登录

从本地计算机测试登录:

ssh username@server_ip

如果配置成功,您将直接登录无需密码,表明SSH密钥登录已正常工作。如果设置了密钥密码,则需输入密钥密码。

故障排除与注意事项

如果登录失败,请检查:服务器~/.ssh/authorized_keys文件权限(应为600)、本地私钥路径是否正确。确保远程连接网络通畅。建议备份原有SSH配置,并保留一个活动会话以防配置错误锁定。

总结

通过本教程,您已掌握在Ubuntu服务器上配置SSH密钥登录的全流程。这种方法显著提升了远程连接的安全性,是管理Ubuntu服务器的最佳实践。定期轮换密钥并监控登录日志,可进一步保障服务器安全。如有疑问,请参考官方文档或社区资源。