You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为AWS Lightsail实例配置多SSH密钥并实现团队批量访问

解决方案:AWS Lightsail实例实现多团队成员SSH访问

Lightsail确实没有直接支持「密钥对群组」绑定的功能,但咱们有几个实用的办法来实现团队全员访问,我给你拆解下:

方案1:手动合并团队公钥到实例的authorized_keys

这是最直接的小团队方案,操作步骤很简单:

  • 先通过已绑定的那个密钥对登录到Lightsail实例
  • 编辑~/.ssh/authorized_keys文件(如果没有就先创建~/.ssh目录和对应文件)
  • 把每个团队成员的SSH公钥逐行添加到这个文件里(注意每一行是完整的公钥字符串,从ssh-rsa或ssh-ed25519开头到末尾的备注)
  • 务必设置正确的权限,不然SSH会拒绝连接:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  • 保存退出后,每个成员就能用自己的私钥SSH登录这个实例了

方案2:集中管理公钥自动同步(适合多实例/大团队)

如果你们团队成员多、或者有多个Lightsail实例,可以用AWS Systems Manager Parameter Store来统一管理公钥,再通过脚本自动同步:

  1. 在Parameter Store里创建一个参数(比如/team-ssh-keys/all-public-keys),把所有成员的公钥按行粘贴进去
  2. 确保Lightsail实例上安装了SSM Agent(Lightsail的Amazon Linux和Ubuntu镜像默认已预装)
  3. 写个简单的脚本拉取参数并覆盖到authorized_keys:
    #!/bin/bash
    aws ssm get-parameter --name "/team-ssh-keys/all-public-keys" --with-decryption --query "Parameter.Value" --output text > ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
  4. 可以把这个脚本加入cron定时任务,或者设置成实例启动脚本,这样公钥更新后实例能自动同步

方案3:改用SSM Session Manager(更安全,无需管理密钥)

如果你们愿意跳出传统SSH密钥的思路,SSM Session Manager是个更省心的选择:

  • 确保Lightsail实例能访问SSM服务(要么有公网IP,要么在VPC里配置了SSM的VPC端点)
  • 给团队成员的IAM账号添加允许SSM会话的权限(比如自定义权限策略,允许ssm:StartSession针对目标实例)
  • 成员可以直接通过AWS控制台、AWS CLI或者AWS Toolkit连接实例,完全不用SSH密钥,也不用担心密钥泄露的问题

注意事项

  • 所有公钥必须是完整的公钥内容,不能有换行错误
  • authorized_keys的权限一定要严格设置,否则SSH服务会忽略这个文件
  • 如果用SSM方案,要确保实例的IAM角色关联了AmazonSSMManagedInstanceCore权限策略

内容的提问来源于stack exchange,提问作者Matthew Olsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:19:32