售前咨询400-838-0503

如何通过SSH密钥登录Linux云服务器?

发布:2025-05-26 06:54

SSH密钥登录Linux云服务器完全指南:安全又高效的操作方法

在云计算时代,SSH密钥认证已成为连接Linux服务器的黄金标准。相比传统密码登录,SSH密钥不仅更安全,还能实现自动化运维的无缝对接。本文将手把手教你从密钥生成到服务器配置的完整流程。

为什么选择SSH密钥登录?

  • 军用级加密:RSA/ECDSA算法比密码更难以破解
  • 防暴力破解:彻底杜绝字典攻击风险
  • 运维自动化:CI/CD、批量管理等场景必须
  • 审计便利:每个密钥对应唯一用户身份

实战四步曲

第一步:生成密钥对

在本地终端执行:

ssh-keygen -t ed25519 -C "[email protected]"

建议参数说明:

  • -t 指定密钥类型(ed25519比RSA更安全高效)
  • -b 设置密钥位数(默认已足够安全)
  • -f 指定保存路径(默认为~/.ssh/id_ed25519)

第二步:上传公钥到服务器

方法1:使用ssh-copy-id工具(最简便)

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

方法2:手动配置(适合高级用户)

  1. 登录服务器进入~/.ssh目录
  2. 编辑authorized_keys文件追加公钥
  3. 确保权限设置正确:
    chmod 600 ~/.ssh/authorized_keys
    chmod 700 ~/.ssh

第三步:配置SSH服务端

编辑/etc/ssh/sshd_config:

PubkeyAuthentication yes
PasswordAuthentication no  # 禁用密码登录提升安全
AuthorizedKeysFile .ssh/authorized_keys

重启服务生效:

sudo systemctl restart sshd

第四步:测试连接

ssh -i ~/.ssh/id_ed25519 username@server_ip

成功提示:出现服务器欢迎信息而无需输入密码

高级技巧

多密钥管理

配置~/.ssh/config文件实现:

Host myserver
    HostName 192.168.1.100
    User admin
    IdentityFile ~/.ssh/special_key
    Port 2222

密钥代理转发

通过跳板机访问内网机器:

ssh -A jumper@bastion

定期轮换密钥

建议每3-6个月更新密钥对,旧密钥需从服务器删除

故障排除

问题现象 解决方案
Permission denied (publickey) 检查文件权限、密钥路径、sshd_config配置
Agent admitted failure to sign 执行ssh-add添加密钥到代理
Too many authentication failures 使用-i显式指定密钥文件

掌握SSH密钥登录技术,您就获得了Linux服务器管理的安全通行证。建议立即将现有服务器的密码登录方式升级为密钥认证,并妥善保管私钥文件(建议加密存储)。如需同时使用密码验证,可设置双因素认证进一步提升安全性。

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

提交工单