售前咨询400-838-0503

Linux云服务器如何配置密钥登录?

发布:2025-05-05 05:11

Linux云服务器安全登录指南:配置SSH密钥认证详解

为什么选择SSH密钥登录?

在云服务器管理中,安全性始终是首要考虑因素。传统密码登录虽然简单,但存在被暴力破解的风险。相比之下,SSH密钥认证提供了更高级别的安全保障:

  • 采用非对称加密技术,安全性远超普通密码
  • 避免了密码被暴力破解的风险
  • 支持完全禁用密码登录,大幅提升服务器安全等级
  • 一次配置后无需记忆复杂密码

详细配置步骤

1. 生成SSH密钥对

在本地终端执行以下命令(Windows用户可使用Git Bash或WSL):

ssh-keygen -t rsa -b 4096 -C "[email protected]"

系统将提示您选择保存位置(默认~/.ssh/id_rsa)和设置密钥密码(可选但推荐)。

2. 上传公钥到服务器

使用以下命令将公钥上传到服务器:

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

如果提示命令不存在,可以手动操作:

  1. 将公钥内容复制到剪贴板:cat ~/.ssh/id_rsa.pub | pbcopy
  2. 登录服务器:ssh username@server_ip
  3. 创建.ssh目录:mkdir -p ~/.ssh
  4. 添加公钥:echo "粘贴公钥内容" >> ~/.ssh/authorized_keys
  5. 设置权限:chmod 700 ~/.ssh & chmod 600 ~/.ssh/authorized_keys

3. 配置SSH服务端

编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

确保以下配置:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no # 禁用密码登录(建议测试密钥登录成功后再修改)

保存后重启SSH服务:sudo systemctl restart sshd

高级配置技巧

1. 多密钥管理

为不同服务器使用不同密钥:

ssh-keygen -t ed25519 -f ~/.ssh/work_server -C "work"

在~/.ssh/config中添加:

Host work-server
    HostName server_ip
    User username
    IdentityFile ~/.ssh/work_server

2. 增强安全措施

  • 修改默认SSH端口:Port 2222
  • 限制root登录:PermitRootLogin no
  • 启用fail2ban防止暴力破解

常见问题解决

1. 权限问题

确保.ssh目录权限为700,authorized_keys文件权限为600。

2. 连接被拒绝

检查防火墙设置,确保SSH端口开放。

3. SELinux导致的问题

执行:restorecon -Rv ~/.ssh

最佳实践

  1. 定期轮换密钥(建议每3-6个月)
  2. 为团队成员配置单独密钥
  3. 备份私钥到安全位置
  4. 使用密钥密码增加额外保护

通过配置SSH密钥登录,您可以大幅提升Linux云服务器的安全性。虽然初始设置比密码登录稍复杂,但长期来看,这种认证方式能有效防止未经授权的访问,是专业服务器管理的必备技能。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单