記念すべき初、技術ノートです。

はじめに

awsのamazon linux2インスタンス作成時に自動で作成されるユーザはec2-user です。
ec2-userをそのまま使用し続けることや、ec2-userを複数人で共有することはセキュリティ的に好ましくありません。

そこでamazon linux2に個人ユーザを追加して、このユーザでローカルからssh接続できるように設定します。amazon linuxでも手順は同様かと思います。ちなみに私のローカルPCはwindowsです。

まず個人ユーザ用に認証用のキーペアを作成して、
そのあと、インスタンスに個人ユーザを追加する流れです。

 

1,個人ユーザ用のキーペアを作成する

公式ドキュメントにやり方は書いてあるのですが、これを順番に全部やっていく必要はありません。

必要な部分だけ抜き出していきます。

【公式ドキュメント】Amazon EC2 のキーペア

1-1,Amazon EC2 コンソールからキーペアを作成する

キーペアの作成方法はいくつかありますが、コンソールからボタンポチポチがわかりやすいです。

Amazon EC2 を使用してキーペアを作成する

上記リンク先の[Amazon EC2 コンソールを使用してキーペアを作成するには]の項目に従ってAmazon EC2 コンソールでキーペアを作成します。
手順通りにやると秘密キーファイルが自動でダウンロードされますが、
保管場所はC:\Users\username\.sshでいいのかなと思います。ec2-userの鍵もここにあるので。

お任せしますが、どこに置いたかわからなくなると接続できないので注意です。この保管場所のパスは、最後ssh接続するときに使用します。
6.Mac または Linux コンピュータの SSH クライアントを使用して~のくだりはスキップでOK

1-2,キーペアのパブリックキーを取得する (Windows)

キーペアのパブリックキーを取得する (Windows)

PuTTYgen を使用してキーペアのパブリックキーを取得します。

 


PuTTYgenがPCに入っていない場合はダウンロードします。Puttygenのダウンロードはこちらから

“Alternative binary files”にある “puttygen.exe”です。


 

PuTTYgen を起動して、[Load] を選択し、先ほどダウンロードして保管した.pem ファイルを選択します。
するとPuTTYgen によってパブリックキーが表示されます。

Public key for pasting into OpenSSH authorized_keys file:の下にづらづら書いてある文字列がパブリックキーです。これを後程インスタンスに登録するので、メモ帳か何かにコピーしておきましょう。

 

2,amazon linuxに個人ユーザを作成する

【公式ドキュメント】Linux インスタンスでのユーザーアカウントの管理

こちらは素直に公式ドキュメントに沿って作業すればOK
以下はamazon linux2で作業した時の流れです。公式ドキュメントではec2userで作業していますが、私はrootにスイッチして作業しています。

2-1,インスタンスに接続してrootにスイッチ

sudo su

 

2-2,ユーザを追加

例として”newuser”というユーザを作成していきます。パスワードも設定しておきます。

adduser newuser
passwd newuser

 

2-3,ディレクトリ作成と権限の設定

newuser ホームディレクトリに .ssh ディレクトリを作成し、
そのファイルのアクセス許可を 700 (所有者のみ、読み取り、書き込み、削除が可能) に変更します。
このファイル権限がなければ、ユーザーはログインできません。

cd /home/newuser
mkdir .ssh
chmod 700 .ssh
chown newuser:newuser .ssh
cd .ssh

 

2-4,authorized_keysの作成と権限の設定

authorized_keys という名前のファイルを .ssh ディレクトリに作成し、
そのファイルのアクセス許可を 600 (所有者のみ、読み取りおよび書き込みが可能) に変更します。

touch authorized_keys
chmod 600 authorized_keys
chown newuser:newuser authorized_keys

この権限設定になっていないと、ログイン失敗します

 

2-5,authorized_keys ファイルの編集

vi authorized_keys

さきほどPuTTYgenで表示したパブリックキーをコピペします
viエディタの使いかたは割愛します

 

 

3,接続テスト

自分のローカルでGitを立ち上げて、newuserで接続してみましょう。

ssh -i 'C:\Users\username\.ssh\newuser.pem' newuser@34.220.185.XXX

接続できればOKです

 

おわりに

いかがでしたでしょうか。

ブログの記事ってはじめて書いた気がします。。わかりにくかったらごめんなさい。

何か間違いやお気づきの点がありましたらご連絡ください。

コメント欄もつけないといけませんね。

コメントを残す