0
0

EC2のキーペアの作り方(秘密鍵・公開鍵)

Posted at

やりたかったこと

複数人で同じEC2にアクセスして作業を行うときに、全員が「ec2-user」として同じ.pemを使ってアクセスするのではなく、作業用にそれぞれユーザーを作成し、それぞれに別々の.pemファイルを割り当てたかった。

作業手順

EC2にssh接続

まずは「ec2-user」としてEC2にSSH接続します。

ssh ec2-user@【IPアドレス】 -i 【pemのパス】

作業をするためにユーザーをroot権限に変更

EC2内で様々な作業を行うため、あらかじめroot権限に切り替えておきます。
毎回sudoでコマンドを実行するのが面倒なので。

sudo su

ユーザーを追加

作業用のユーザーを作成します。

useradd 【ユーザー名】

追加したユーザーをwheelグループに所属させる

作成したユーザーをsudoを使えるwheelグループに入れます。
wheelグループはsuやsudoコマンドを使えるユーザーグループです。ここに所属していないと、作業に必要なsuやsudoコマンドが使えません。

usermod -G wheel 【ユーザー名】

sudoコマンドを使用する際のパスワード入力を省略可させる

下記のコマンドを実行し、sudo設定の編集モードにします。

visudo

次に、「Same thing without a password」の下の行のコメントアウト(#)を削除します。

## Same thing without a password
# %wheel  ALL=(ALL)       NOPASSWD: ALL

以下のように編集します。

## Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL

「:wq!」で保存します。

作成したユーザーに切り替えて、キーペアを作成する

su - 【ユーザー名】
ssh-keygen -t rsa

キーペアが作られているか確認する

キーペアが無事作成されているか確認するため、下記のコマンドを実行します。
「id_rsa」と「id_rsa.pub」が作成されていれば成功です。

cd ~/.ssh
ls

公開鍵の設定

クライアント側で生成された公開鍵 id_rsa.pub をサーバー側の authorized_keys ファイルに追加することで、そのクライアントがパスワードなしでSSHを使ってサーバーへログインできるようにします。

cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

秘密鍵(id_rsa)をローカルにコピー

下記のコマンドでid_rsaの中身をコピーして、ローカル環境で任意の場所に秘密鍵を作成します。
ファイル名は「【任意の名前】.pem」で作成します。

vi ~/.ssh/id_rsa

または

cat ~/.ssh/id_rsa

作成したファイルのパーミッションを読み取り権限のみに変更します。

chmod 400 【秘密鍵のディレクトリ】/【秘密鍵の名前】.pem

接続の確認

ローカルから下記のコマンドを実行して、EC2に接続できれば成功です。

ssh 【ユーザー名】@【IPアドレス】 -i 【秘密鍵のパス】
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0