售前咨询400-838-0503

云服务器如何开启SSH免密登录?

发布:2025-08-13 02:01

云服务器SSH免密登录全攻略:安全与效率的完美结合

在云计算时代,SSH免密登录已成为运维人员和开发者的必备技能。本文将详细介绍在主流云服务器上配置SSH免密登录的全过程,助您提升工作效率的同时确保系统安全。

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

SSH免密登录通过密钥对认证机制,相比传统密码登录具有三大优势:

  • 安全性更高:杜绝暴力破解和中间人攻击风险
  • 操作更便捷:无需反复输入密码,特别适合自动化脚本
  • 管理更高效:方便多服务器集群的统一管理

二、准备工作

1. 环境要求

  • 本地终端(Mac/Linux的Terminal或Windows的PowerShell)
  • 已购买的云服务器(阿里云/腾讯云/AWS等)
  • SSH客户端(默认已安装)

2. 生成密钥对

ssh-keygen -t rsa -b 4096 -C "[email protected]"
# 默认保存在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub

建议为密钥设置密码短语(passphrase)以增加安全性

三、详细配置步骤

1. 上传公钥到服务器

方法一:使用ssh-copy-id(推荐)

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

方法二:手动配置

  1. 复制公钥内容:cat ~/.ssh/id_rsa.pub
  2. 登录服务器:ssh username@server_ip
  3. 创建授权文件:mkdir -p ~/.ssh && chmod 700 ~/.ssh
  4. 写入公钥:echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys
  5. 设置权限:chmod 600 ~/.ssh/authorized_keys

2. 修改SSH服务端配置

编辑服务器上的SSH配置文件:

sudo vi /etc/ssh/sshd_config

确保以下参数设置正确:

  • PubkeyAuthentication yes
  • AuthorizedKeysFile .ssh/authorized_keys
  • PasswordAuthentication no(建议禁用密码登录)

重启SSH服务:sudo systemctl restart sshd

四、高级配置技巧

1. 多密钥管理

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

vi ~/.ssh/config

Host aliyun
    HostName 192.168.1.1
    User root
    IdentityFile ~/.ssh/aliyun_key

2. 安全加固措施

  • 修改默认SSH端口
  • 启用Fail2Ban防止暴力破解
  • 定期轮换密钥

3. 常见问题排查

  1. 权限问题:检查.ssh目录权限必须为700,authorized_keys为600
  2. SELinux限制:执行restorecon -Rv ~/.ssh
  3. 连接超时:检查防火墙和安全组规则

五、主流云平台特殊配置

1. 阿里云ECS

可通过控制台直接注入密钥对,创建实例时选择"密钥对登录"

2. 腾讯云CVM

需要在"SSH密钥"功能中先创建密钥,再绑定到实例

3. AWS EC2

使用.pem私钥文件连接:ssh -i key.pem ec2-user@ip

掌握SSH免密登录技术不仅能提升工作效率,更是服务器安全的重要保障。建议所有云服务器管理员都采用这种方式进行远程管理。配置完成后,您可以通过ssh username@server_ip直接登录,享受无缝连接的便捷体验。

记得定期备份您的密钥对,并妥善保管私钥文件!

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

提交工单