售前咨询400-838-0503

如何配置 Linux 云服务器的 SSH 免密登录?

发布:2025-06-02 06:45

搜索全部帮助分类的文档

Linux云服务器SSH免密登录完全配置指南

在云服务器管理运维中,SSH免密登录是提升工作效率的重要技巧。本文将详细介绍从本地生成密钥到服务器配置的全过程,助你实现一键安全登录。

一、为什么需要配置SSH免密登录?

传统密码登录方式存在以下痛点:

  • 每次登录都需要输入复杂密码
  • 密码容易被暴力破解
  • 不便于自动化脚本执行

SSH密钥认证方案相比有以下优势:

  • 采用非对称加密,安全性更高
  • 支持自动化运维操作
  • 可设置多因素认证

二、详细配置步骤

1. 本地生成密钥对

打开终端执行以下命令:

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

参数说明:

  • -t 指定密钥类型
  • -b 指定密钥长度
  • -C 添加注释信息

2. 上传公钥到服务器

推荐使用ssh-copy-id工具:

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

如无此工具,可手动操作:

cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

3. 服务器端配置调整

修改SSH配置文件:

sudo nano /etc/ssh/sshd_config

确保以下参数设置正确:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no # 生产环境建议关闭

重启SSH服务:

sudo systemctl restart sshd

三、高级配置技巧

1. 多密钥管理

创建config文件管理不同服务器:

Host myserver
    HostName server_ip
    User username
    IdentityFile ~/.ssh/myserver_key

2. 密钥代理转发

启用代理转发功能:

ssh-add ~/.ssh/id_rsa
ssh -A username@server_ip

3. 安全加固措施

  • 设置密钥文件权限为600
  • 定期更换密钥对
  • 使用ed25519算法替代RSA

四、常见问题排查

问题现象 解决方法
Permission denied (publickey) 检查authorized_keys文件权限是否为600
连接超时 确认安全组规则开放22端口
Agent admitted failure 执行ssh-add添加密钥到代理

通过本文的详细指导,您应该已经成功配置了SSH免密登录。这种认证方式不仅能提高工作效率,还能增强服务器的安全性。建议将本文收藏备用,遇到问题时可以快速查阅解决方案。

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

提交工单