EC2インスタンスにログインできる新ユーザー作成及びローカルで鍵を作成しSSH通信によるインスタンスへのログイン
どうもどハマりエンジニアです。
<対象>
・すでにEC2インスタンスを作成
・Elstatic IP アドレスの関連付けができている。
<さっそくやってみよう!!!>
インスタンス作成時にEC2にログインするために必要となるキーペアをダウンロードしたと思います。作成した公開鍵をsshフォルダに移動させます(移動はさせなくても出来る) 。 読み書きができる権限を付与し、公開鍵を利用し、すでにAWSでデフォルトであるユーザー(ec2-user)を使いログインします。
$: mv Downloads/myserverkey.pem/ (#作成した公開鍵をsshフォルダに移動) $: cd .ssh/ (#ディレクトリをsshに移動) $: chmod 600 myserverkey.pem (#公開鍵に600番で定義されたアクセス権を付与する) $: ssh -i myserverkey.pem ec2-user@18.222.239.124 (#公開鍵を利用してec2-userとしてログイン)
ここまできたら新たなユーザーを作成し、作成したユーザーにマスター権限を与えていきます。
[ec2-user|~]$ sudo adduser yoshihiro (#新規ユーザー名の登録) [ec2-user|~]$ sudo passwd yoshihiro (#新規ユーザー名のパスワード登録) [ec2-user|~]$ sudo visudo (#vimを使いrootに関する権限追記をする)
vimで編集モードになったら下記のように追記していきます。
i
で編集モード
esc
でInputモードを終了
Shift + zz
で保存&編集完了
1.rootに関する権限の記述箇所 root ALL=(ALL) ALL を探す。 2.その下に、作成したユーザーに権限を追加する記述 yoshihiro ALL=(ALL) ALL を追加する
編集が完了したら下記のコマンドでユーザーの切り替えを行います。
[ec2-user|~]$ sudo su - yoshihiro
ec2-user
のところが作成したユーザー名に変わっていればユーザーの作成は完了です。
ローカルで鍵を生成し、SSH通信によるインスタンスへのログイン
ローカルのターミナル
$ cd .ssh [.ssh]$ ssh-keygen -t rsa (#公開鍵を作成) ----------------------------- Enter file in which to save the key (): app_key_rsa (#ここでファイルの名前(なんでもいい)を記述して、エンター) Enter passphrase (empty for no passphrase): (#何もせずそのままエンター) Enter same passphrase again: (#何もせずそのままエンター) -----------------------------
上記のコマンドより公開鍵(app_key_rsaとapp_key_rsa.pub)を作成することができたので、vimで.sshファイルに設定ファイル(config)を編集していきます。
[.ssh]$ ls #「app_key_rsa」と「app_key_rsa.pub」が生成されたことを確認 [.ssh]$ vim config (#Vimを起動し、設定ファイルを編集する) ----------------------------- # 以下を追記 Host app_key_rsa Hostname 18.222.239.124(Elastic IP) Port 22 User yoshihiro (先ほどのユーザー名) IdentityFile ~/.ssh/app_key_rsa (#秘密鍵の設定) ----------------------------- [.ssh]$ cat app_key_rsa.pub (鍵の中身をターミナル上に出力→後で使うのでコピーしておく)
上記により、
1.ローカルで鍵の生成
2.その鍵をどの通信の認証時に使用するか等を設定
ここまでが完了しました。
続いてはインスタンス側の設定をしていきます
[yoshihiro|~]$ mkdir .ssh [yoshihiro|~]$ chmod 700 .ssh [yoshihiro|~]$ cd .ssh [yoshihiro|.ssh]$ vim authorized_keys (#vimが開く) ----------------------------- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKIYAGCKxDvEf0SNLxHU/iXmAAX8Sm+AqsqUj+7KIxf60KoJWDpvxEhVC7mVG/81rA9qn3vTnm++6g7LfJhxru3SN5jp9RJS6cvHqYP55VpEmEV2baSpHjTsQK4KD/vbSh2+/f+FkL5+XXNTPdX6q/DOV1Jic8uOrKsYQZHd0rGQ4v/ktCRNzjeW+1hG929bjCQrivwH+Q5s9zvGmnLJyMP9TMGD1Q3CqYoDPVhWsbw/hbXUIxgvtUKwZ7WzOCDivtZLutV0omaffc6RBURmmIGh3L7R373yo7QG52gHlIE/hG8+IQW89m5IU2syLifs1QGXV/zFiiHCzpVhbyjnifMa6kw2DZl7z3LH9+qIVU1nUcsjI5NI0zap6sZvSoNYHdubvw0fdg1n2aEgqh+nc8bOAdfUwMgxZPPa40FysmAcN05+dzQ7dUuwli312ohfkmT4qlLC3dh8+QuRUB8zqxrpoImS7VH0l94kJtEKVA8jqglKE= yoshihironoMacBook-Air.local (#先ほどコピーした鍵の中身を貼り付け) ----------------------------- [yoshihiro|.ssh]$ chmod 600 authorized_keys [yoshihiro|.ssh]$ exit [ec2-user|~]$ exit
以上より新ユーザーに権限が付与されました。 ローカルで下記コマンドを入力し、実際にログインしてみてください
$ ssh app_key_rsa