記念すべき初、技術ノートです。
はじめに
awsのamazon linux2インスタンス作成時に自動で作成されるユーザはec2-user です。
ec2-userをそのまま使用し続けることや、ec2-userを複数人で共有することはセキュリティ的に好ましくありません。
そこでamazon linux2に個人ユーザを追加して、このユーザでローカルからssh接続できるように設定します。amazon linuxでも手順は同様かと思います。ちなみに私のローカルPCはwindowsです。
まず個人ユーザ用に認証用のキーペアを作成して、
そのあと、インスタンスに個人ユーザを追加する流れです。
1,個人ユーザ用のキーペアを作成する
公式ドキュメントにやり方は書いてあるのですが、これを順番に全部やっていく必要はありません。
必要な部分だけ抜き出していきます。
1-1,Amazon EC2 コンソールからキーペアを作成する
キーペアの作成方法はいくつかありますが、コンソールからボタンポチポチがわかりやすいです。
上記リンク先の[Amazon EC2 コンソールを使用してキーペアを作成するには]の項目に従ってAmazon EC2 コンソールでキーペアを作成します。
手順通りにやると秘密キーファイルが自動でダウンロードされますが、
保管場所はC:\Users\username\.sshでいいのかなと思います。ec2-userの鍵もここにあるので。
お任せしますが、どこに置いたかわからなくなると接続できないので注意です。この保管場所のパスは、最後ssh接続するときに使用します。
6.Mac または Linux コンピュータの SSH クライアントを使用して~のくだりはスキップでOK
1-2,キーペアのパブリックキーを取得する (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です
おわりに
いかがでしたでしょうか。
ブログの記事ってはじめて書いた気がします。。わかりにくかったらごめんなさい。
何か間違いやお気づきの点がありましたらご連絡ください。
コメント欄もつけないといけませんね。