【AWS】新規追加したユーザーでEC2にSSH接続するための準備

この方法って色んなところにリソースが転がっていているんだけど、いつもどっかで躓くのと、一旦自分で整理すべきだと思ったので書いておく。

1. EC2インスタンス作成時に発行された秘密鍵を使用してEC2へ接続

接続したい新規ユーザを追加。sudoが使えるようにする。

// rootへ切替
$ sudo su -

// ユーザ追加とパスワード設定
# adduser user_name
# passwd user_name

# visudo
// 以下の一行を追加
user_name ALL=(ALL)    ALL

2. ローカルマシン(接続したいマシン)で鍵を作成

鍵を新しく作る。この鍵でSSH接続できるようにしていく。

$ cd ~/.ssh
$ ssh-keygen -t rsa -C comment -f rsa_file_name

3. EC2へ公開鍵を転送

EC2にSSH接続が可能なマシンへ公開鍵を送り、そこからscpコマンドでEC2へ転送する。

$ scp -i ec2.pem rsa_file_name.pub ec2-user@xx.xxx.xxx.xxx:/home/ec2-user/

4. EC2上で公開鍵の設定

公開鍵を.sshに設置したり、所有者、グループ、権限を変えたり。

$ ls ~
// rsa_file_name.pubの存在を確認
$ sudo su - user_name
$ mkdir ~/.ssh
$ sudo mv /home/ec2-user/rsa_file_name.pub /home/user_name/.ssh/authorized_keys
$ ls ~/.ssh
// authorized_keysを確認
// 所有者とグループを変更
$ sudo chown user_name /home/user_name/.ssh/authorized_keys
// chgrpはchownでもできるけどね
$ sudo chgrp user_name /home/user_name/.ssh/authorized_keys
// パーミッションも
$ sudo chmod 600 /home/user_name/.ssh/authorized_keys
$ sudo chmod 700 /home/user_name/.ssh/

5. 接続してみる

接続できたらおしまい。

$ ssh user_name@xx.xxx.xxx.xxx