如何在通过Session Manager访问AWS Linux EC2时自动切换到ec2-user用户?

0

【以下的问题经过翻译处理】 我有一个需求,让客户通过会话管理器访问ec2 linux实例,但是登录后,用户是ssm-user,有没有办法自动切换为ec2-user。这意味着客户不需要手动切换到ec2-user?

profile picture
专家
已提问 5 个月前27 查看次数
1 回答
0

【以下的回答经过翻译处理】 当您运行 aws ssm start-session 时没有指定文档名称,SSM 将使用一个名为 SSM-SessionManagerRunShell 的默认文档,该文档归您所有。

如果您在 AWS 文档 Session document schema 中查看会话文档架构,您将看到两个属性可以帮助您更改连接的用户:runAsEnabledrunAsDefaultUser

如果您回到默认会话文档 SSM-SessionManagerRunShell 的定义,您将看到它定义如下:

{
  "schemaVersion": "1.0",
  "description": "Document to hold regional settings for Session Manager",
  "sessionType": "Standard_Stream",
  "inputs": {
    "s3BucketName": "",
    "s3KeyPrefix": "",
    "s3EncryptionEnabled": true,
    "cloudWatchLogGroupName": "",
    "cloudWatchEncryptionEnabled": true,
    "idleSessionTimeout": "20",
    "maxSessionDuration": "",
    "cloudWatchStreamingEnabled": true,
    "kmsKeyId": "",
    "runAsEnabled": false,
    "runAsDefaultUser": "",
    "shellProfile": {
      "windows": "",
      "linux": ""
    }
  }
}

要连接为不同的用户,您可以执行以下操作之一:

  • 创建新文档以连接:

创建一个名为 SSM-SessionManagerRunShellAsEc2User 的新文档,然后在其定义中将 runAsEnabled 设置为 true,并将用户名放入 runAsDefaultUser字段中

{
  "schemaVersion": "1.0",
  "description": "Document to hold regional settings for Session Manager",
  "sessionType": "Standard_Stream",
  "inputs": {
    "s3BucketName": "",
    "s3KeyPrefix": "",
    "s3EncryptionEnabled": true,
    "cloudWatchLogGroupName": "",
    "cloudWatchEncryptionEnabled": true,
    "cloudWatchStreamingEnabled": true,
    "idleSessionTimeout": "20",
    "
profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则