sshではなくセッションマネージャー(ssm)でのログインに切り替えてしばらく経過。
もはや慣れたと思っていたら、突然思わぬ落とし穴があったので備忘録。
#ssmのログインユーザーは
デフォルトでssm-userというユーザーになっています。
このユーザーは実際はログインしている訳ではなく、シェルアクセスしているだけのようです。
ログイン直後の様子
Starting session with SessionId: testuser-xxxxxxx
sh-4.2$
なので~/.bash_profile
に記載した内容なども実行されません。
使い勝手が悪い為、ec2-userで自動でログインするようにしたいです。
そのためには下記のような方法が考えられます。
① ssmコンソールのLinux shell profileに sudo su - ec2-user
を追加する
②ssmコンソールのGeneral preferencesのRun Asサポートを有効にし、ユーザー名をec2-userにする
②の方法がスマートそうだけど、やっぱりこちらも「ログイン」ではなさそう。
#ログインできないと困ること
慣例的に~/.bash_profile
に色々書く運用をしているので、ログインできないとこれが実行されないという状況。
~/.bash_profile
ではなくLinux shell profileに記載すれば良いのかもしれないのだけれども。
AWS使わない人でもわかるようにしたいから、ということもある。
#対処方法
何かのタイミングでsudo su - ec2-user
でログインするしかなさそう。
そうなるとやっぱりssmコンソールのLinux shell profileに sudo su - ec2-user
を追加する方法が現状のベストになるのか。
ssmコンソールのGeneral preferencesのRun Asサポートを有効にし、ユーザー名をec2-userにする方法で既に運用している場合は、仕方ないのでssmコンソールのLinux shell profileを下記のようにする。