前回、AWSでSSHの接続(~.pem)をしたと思うんですが、
その鍵がないとサーバには入れません。
管理者「あだちんAWS入りたいんだけど。。鍵は。。」
あだちん「.pemどうぞ!」
管理者「いやいや、元々作ってある鍵でログインしたいのよ」
あだちん「ちょっとやってみます。。。」
というわけで
他の管理者にもログインできるように流れをブログします。
カタツムリカタツムリ。。
・こんなイメージ
– aws が作成するキーとは別に独自のキーペアを作成し、サーバに公開鍵、ローカルに秘密鍵を配置して接続する。
– ユーザを作成し、管理者として作業できるようにする。
・AWSログイン/ユーザ作成
1 |
$ adduser adachin <span style="color: #3366ff;">#ユーザadachinを作成します</span> |
1 |
$ passwd adachin #<span style="color: #3366ff;">ユーザadachinのパスワードを変更します</span> |
・sudo 権限を付与する
/etc/sudoers に以下を追加する
1 |
adachin ALL=(ALL) ALL <span style="color: #3366ff;">#adachinユーザにも権限をつけて毎回パスワードを求めさせます</span> |
・AWSログアウト
1 |
exit #簡単 |
・ローカルホストで鍵をつくる
ローカルホストは使ってるPCのこと アイムMac
1 |
[adachin@mac]$ ssh-keygen <span style="color: #3366ff;">#鍵を作成します パスワードとか求められます</span> |
1 2 |
$ ls ~/.ssh/ id_rsa id_rsa.pub known_hosts |
ユーザホームディレクトリの.ssh以下に、
秘密鍵(id_rsa)と公開鍵(id_rsa.pub)があったらOK
・EC2 インスタンスに公開鍵を配置する
先ほど作った公開鍵(id_rsa.pub)をAWSに転送します
- キー:hoge.pem。EC2 インスタンス作成時に生成したキー
- コピー元ファイル:~/.ssh/id_rsa.pub。生成された公開鍵
- ユーザ:ec2-user
- サーバ:EC2 の IP アドレス(またはホスト名)
- コピー先パス:/home/ec2-user/
1 2 |
$ scp -i hoge.pem ~/.ssh/id_rsa.pub ec2-user@IP:/home/ec2-user/ http://:title=id_rsa.pub 100% 391 0.4KB/s 00:00 ] |
・確認
1 2 |
[ec2-user@ec2 instance ~]$ ls ~ id_rsa.pub <span style="color: #3366ff;">#発見</span> |
・公開鍵を adachinユーザのホームディレクトリ配下に配置する
1 |
$ su adachin <span style="color: #3366ff;">#adachinユーザに切り替え</span> |
・証明書を配置するディレクトリ .ssh を作成する
1 |
$ mkdir .ssh <span style="color: #3366ff;">#.sshというディレクトリを作る</span> |
・転送した公開鍵を authorized_keys という名前で .sshディレクトリに配置
1 |
$ sudo mv /home/ec2-user/id_rsa.pub /home/adachin/.ssh/authorized_keys |
1 2 |
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: |
1 |
#3つの規約守れ的なことが出てくる |
1 2 3 |
#1) Respect the privacy of others. <span style="color: #3366ff;">#他人のプライバシーを尊重します</span> #2) Think before you type. <span style="color: #3366ff;">#打つ前に考えよう</span> #3) With great power comes great responsibility. <span style="color: #3366ff;">#大きな力には大きな責任がある</span> |
1 |
[sudo] password for adachin: <span style="color: #3366ff;">#パスワード打ちましょう</span> |
・確認
1 2 |
$ ls /home/hoge/.ssh/ authorized_keys <span style="color: #3366ff;">#発見</span> |
・公開鍵ファイルのユーザとグループをadachinに変更
1 |
[adachin@~]$ sudo chown adachin /home/adachin/.ssh/authorized_keys |
1 |
[adachin@~]$ sudo chgrp adachin /home/adachin/.ssh/authorized_keys |
・パーミッションを 600/700 に変更
- 所有者は読み書き可能、所有者以外はファイルに対する操作は一切不可にする
1 |
[adachin@~]$ sudo chmod 600 /home/adachin/.ssh/authorized_keys |
- 所有者はディレクトリに対してあらゆる操作が可能。
所有者以外はディレクトリに対する操作は一切不可(ディレクトリ内を見ることはできない)
1 |
[adachin@~]$ sudo chmod 700 /home/adachin/.ssh/ |
・追記(2/5)
ローカルPCの秘密鍵はパーミッション400にする
1 |
[adachin@~]$ sudo chmod 600 ~/.ssh/id_rsa |
よくパーミッションdenyになるので400にすれば大丈夫かと
・adachinユーザで接続する
1 |
$ ssh adachin@EC2のIP |
1 2 3 |
__| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| |
1 |
[adachin@~]$ |
接続キタ━━━━(゚∀゚)━━━━!!
こんな感じです
※鍵を転送するとき中身コピーしてauthorized_keysというファイルを作って
vimで貼り付けしても可能です。
(・∀・汗)
0件のコメント