AWS Systems Manager
などを使うとEC2にキーペアなしで簡単に接続することができますが、この方法ではいろいろ困ることもあります。
例えば、開発者が複数人いて開発者が同じEC2で作業することがあるため、各人が接続する環境が必要という場合。各人にキーペアを渡すのは面倒ですよね。AWS Systems Manager
やEC2 Instance Connect
を利用する方法もありますが、EC2に接続する人の中にはこれらの環境を設定していない人もいると思います。素直にSSH接続できる環境を作るのがベストです。
とういうわけで実際にやってみます!
EC2、Amazon Linux環境です。
useradd ユーザー名
passwd ユーザー名
ユーザー ユーザー名 のパスワードを変更。
新しいパスワード:
ここまで終わったら次は。
おそらくsshd_config
は以下のようになっていると思いますのでPasswordAuthentication yes
とPermitRootLogin yes
のコメントアウトを外して有効にします。
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes ← コメントアウトを外す
#PermitEmptyPasswords no
PasswordAuthentication no ← コメントアウトする
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin yes ← コメントアウトを外す
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
これであとは再起動すればOKです。
systemctl restart sshd.service
ちゃんとできたか試しに接続してみましょう。
ssh ユーザー名@パブリック IP
で接続できます。
あとは各人に初期パスワードを渡して接続後、初期パスワードを変更して貰えばOKです。