机房与网络线路

需要免密码远程管理的运维人员,可为云服务器配置SSH密钥登录

本文介绍云服务器实例配置SSH密钥登录的方法:生成密钥对、将公钥部署到服务器、验证连接,并在确认可用后调整密码登录设置,同时说明常见故障与安全注意事项。

免密码登录不等于不需要凭据:SSH 使用公钥和私钥完成身份验证,私钥仍应妥善保管。掌握云服务器实例配置SSH密钥登录的方法后,运维人员可减少反复输入密码,也能为服务器登录增加一层控制。下面以常见的 OpenSSH 客户端和 Linux 云服务器为例说明。

先区分密钥与密码

密钥对包含公钥和私钥。公钥放在服务器上,私钥留在自己的电脑;连接时客户端用私钥证明身份,服务器根据公钥验证。不要把私钥上传到云平台、服务器或聊天工具,也不要把公钥误当成私钥使用。

如果服务器支持 Ed25519,可优先考虑这种密钥类型;若客户端、服务端版本或合规要求不支持,再按环境选择 RSA 等兼容类型。是否能使用某种算法,取决于 OpenSSH 版本及服务器策略。

生成密钥并部署公钥

  1. 检查客户端。Linux、macOS 和较新的 Windows 通常可使用 OpenSSH。Windows 用户可在 PowerShell 中运行 ssh-keygen;若系统未提供该命令,先安装或启用 OpenSSH 客户端。
  2. 创建密钥对。运行 ssh-keygen -t ed25519 -C "admin-laptop",按提示选择保存位置,并为私钥设置口令。口令能在私钥文件被复制时提供额外保护;后续可用 ssh-agent 减少重复输入。命令生成的公钥通常以 .pub 结尾。
  3. 把公钥交给服务器。新建实例时,可在云平台控制台选择或导入公钥;已有实例可通过当前可用的控制台或已验证的登录方式,将公钥追加到目标账号的 ~/.ssh/authorized_keys。不要覆盖文件中已有的其他公钥,否则可能影响其他管理员登录。
  4. 检查账号与权限。确认公钥写入的是实际登录账号的家目录。Linux 上通常要求 .ssh 目录仅账号本人可写,权限可设为 700;authorized_keys 可设为 600。权限过宽时,SSH 服务可能拒绝读取密钥。
  5. 从本地测试。使用 ssh -i 私钥路径 用户名@服务器地址 连接。若 SSH 端口不是默认的 22,可增加 -p 端口号。用户名应与镜像或服务器创建时设定的账号一致。

这套云服务器实例配置SSH密钥登录的方法适用于新建和已有实例,但已有实例必须先保留一种可用的管理通道,避免公钥部署错误后失去访问能力。

确认可用后再收紧访问

首次测试时保留当前会话,另开一个终端重新登录,确认密钥确实生效。若还要关闭密码登录,先检查 SSH 服务配置中的密码验证选项,再运行配置检查命令 sshd -t;确认无误后,按该系统使用的服务管理方式重新加载 SSH 服务。不同发行版的服务名称和配置文件位置可能不同,应以系统实际情况为准。

同时检查云平台的安全组或防火墙:入站规则只开放实际使用的 SSH 端口,并尽量限制来源为管理网络或固定的办公出口地址。若管理地址会变化,可通过 VPN 或云平台提供的管理通道接入,而不是长期向所有来源开放端口。

登录失败时按顺序排查

  • 提示 Permission denied:核对登录用户名、公钥内容、私钥路径和文件权限。需要进一步诊断时,可用 ssh -v 查看客户端尝试了哪些认证方式;调试输出可能包含本机路径等信息,不宜随意公开。
  • 连接超时或拒绝连接:检查实例状态、地址、端口、云端安全组和服务器防火墙。超时常与网络路径或规则有关;拒绝连接则还需确认 SSH 服务是否运行、是否监听目标端口。
  • 私钥权限不被接受:确认使用的是私钥而非 .pub 公钥,并避免让其他本机账号读取私钥。在多人共用电脑的环境中,尤其要检查文件访问权限。

常见问题

配置密钥后还能保留密码登录吗?

可以,是否关闭密码登录由服务器配置决定。更改前应先用新终端验证密钥登录,并保留云平台控制台等恢复入口。

一把密钥能登录多台服务器吗?

技术上可以将同一公钥部署到多台服务器,但设备丢失或私钥泄露会扩大影响范围。按人员或设备分配密钥,离职、换机时便于撤销相应公钥。

忘记私钥口令怎么办?

口令通常不能从私钥文件中找回。若仍有其他管理入口,可生成新密钥并部署新公钥,再移除旧公钥;若没有可用入口,需要按云平台提供的恢复流程处理。

归纳来说,云服务器实例配置SSH密钥登录的方法包括安全生成密钥、正确部署公钥、验证新会话和谨慎调整登录策略。把私钥保存在受控设备上,并预留恢复通道,才能兼顾免密码操作的便利与服务器安全。

需要选择适合业务的方案?

告诉我们业务地区、配置和预算,客服可协助推荐产品。

TG咨询

相关文章