前回、AWSでSSHの接続(~.pem)をしたと思うんですが、
その鍵がないとサーバには入れません。

管理者「あだちんAWS入りたいんだけど。。鍵は。。」
あだちん「.pemどうぞ!」
管理者「いやいや、元々作ってある鍵でログインしたいのよ」
あだちん「ちょっとやってみます。。。」

というわけで
他の管理者にもログインできるように流れをブログします。
カタツムリカタツムリ。。


・こんなイメージ

– aws が作成するキーとは別に独自のキーペアを作成し、サーバに公開鍵、ローカルに秘密鍵を配置して接続する。
– ユーザを作成し、管理者として作業できるようにする。


AWSログイン/ユーザ作成

 

sudo 権限を付与する

/etc/sudoers に以下を追加する

 

AWSログアウト


ローカルホストで鍵をつくる

ローカルホストは使ってるPCのこと アイムMac

ユーザホームディレクトリの.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/


確認

 

公開鍵を adachinユーザのホームディレクトリ配下に配置する

 

証明書を配置するディレクトリ .ssh を作成する

 

転送した公開鍵を authorized_keys という名前で .sshディレクトリに配置


・確認

 

公開鍵ファイルのユーザとグループをadachinに変更

 

パーミッションを 600/700 に変更

  • 所有者は読み書き可能、所有者以外はファイルに対する操作は一切不可にする

  • 所有者はディレクトリに対してあらゆる操作が可能。

所有者以外はディレクトリに対する操作は一切不可(ディレクトリ内を見ることはできない)

・追記(2/5)
ローカルPCの秘密鍵はパーミッション400にする

よくパーミッションdenyになるので400にすれば大丈夫かと


 ・adachinユーザで接続する

接続キタ━━━━(゚∀゚)━━━━!!


こんな感じです
※鍵を転送するとき中身コピーしてauthorized_keysというファイルを作って
vimで貼り付けしても可能です。

参考資料

(・∀・汗)

 

The following two tabs change content below.

あだちん

1989年生まれ。 Infra Engineer(SRE) In Shibuya 2013年新卒に自宅サーバを構築し、この技術ブログを立ち上げたが、 2017年に電源が壊れConoHaにリプレイスした。 好きな構成管理ツールはAnsible,Terraform。 インフラならAWS/Docker。言語はPython。 WEBサーバならH2O。そして「脆弱性スキャナVuls」のOSS活動もしており、VulsRepo init fileのコミッターでもある。VulsのためにGolangと格闘中でエバンジェリストに任命!?HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す