AWS Systems Manager(SSM)のSession Manager (以下セッションマネージャー) でec2-userやrootとして作業するやり方の備忘録です。
はじめに
SSM セッションマネージャーは、いちいちSSHでログインすることなく、EC2インスタンスでシェル操作を行うことのできる便利なサービスです。
ただ、SSHでec2-user
としてログインした時とは微妙な違いがあります。
今回は、SSM セッションマネージャーでユーザーec2-user
やrootユーザーとして作業するやり方を簡単にメモします。
環境
EC2インスタンス: Amazon Linux 2
SSMエージェントのバージョン: 2.3.714.0
Session Managerでec2-userやrootとして作業する
現状: ssm-userとしてシェルアクセス
セッションマネージャーでEC2インスタンスに入ると、ssm-user
としてシェルアクセスされます。
$ whoami ssm-user
しかし、ssm-user
のままだと、EC2にデフォルトで作成されるユーザーec2-user
のファイルにアクセスできません。
# ssm-userのホームディレクトリへ行く $ cd ~ # ec2-userのホームディレクトリにアクセスする $ cd .. $ ls ec2-user ssm-user $ cd ec2-user sh: cd: ec2-user: Permission denied
ここでssm-user
のままec2-user
のファイルにアクセスしようと思えば、sudo
を使うことになるでしょう。
毎回sudo
を使うのは面倒です。
解決策: sudo su --login ec2-user
気付いてしまえばあまりに簡単なことなのですが、sudo
の権限を用いてec2-user
にログインしてしまえば、ec2-user
としてSSHした時に近い感覚で作業が出来ます。
# ec2-userにログイン $ sudo su --login ec2-user Last login: Thu Mar 12 13:44:03 UTC 2020 on pts/0 # ec2-userに切り替わったことを確認 $ whoami ec2-user
同様に、以下のようにしてroot
ユーザーに切り替えることもできます。
# rootにログイン $ sudo su --login Last login: Thu Mar 12 13:43:50 UTC 2020 on pts/0 # rootに切り替わったことを確認 $ whoami root
おわりに
sudo
権限を用いてユーザーを切り替えればよい、というのはあまりに単純な話なのですが、私はそれに気付かないばかりに、セッションマネージャー少し使いづらいなと思っていました。
同じように思った方の参考になれば幸いです。
[関連記事]