如何让SSM会话默认以Ubuntu用户登录,无需执行sudo -su切换?
配置SSM会话默认以Ubuntu用户登录
有两种常用方式可以实现该需求:
方法1:修改实例本地的Session Manager配置
- 登录目标Ubuntu实例,编辑Session Manager配置文件:
sudo nano /etc/amazon/ssm/session-manager-config - 在配置中添加或更新
shellProfile节点,指定默认切换到ubuntu用户:{ "sessionId": "{{session-id}}", "shellProfile": { "linux": { "command": "/bin/bash -c 'sudo -su ubuntu'" } } } - 保存文件后重启SSM Agent生效:
sudo systemctl restart amazon-ssm-agent
方法2:通过SSM参数存储设置全局默认规则
- 在AWS Systems Manager控制台进入参数存储,创建字符串类型参数,名称设为
/ssm/session-manager/defaults/shell-profile/linux,参数值填:sudo -su ubuntu - 确保SSM会话使用的IAM角色拥有
ssm:GetParameter权限(针对该参数的ARN),后续新启动的SSM会话会自动应用该全局配置。
关键权限配置
要避免切换用户时需要输入密码,需给ssm-user配置免密sudo权限:
sudo visudo
添加以下内容后保存退出:
ssm-user ALL=(ubuntu) NOPASSWD: /bin/su
内容的提问来源于stack exchange,提问作者Stvvks
相关产品推荐
相关产品推荐

