初めて投稿させていただきます。新入社員の斎藤です。
まだエンジニアとしては、生後3ヶ月といった感じですが、
技術的な面において初心者目線で、色々と伝えていけたらいいなと思っております。

今回は、公開鍵認証の導入の仕方を紹介したいと思います。

ということで、今回やることは、
公開鍵認証を対象のサーバに導入し、「鍵を持った人のみがsshログインできるようにする。」です。

前提として、サーバー側には、以下の3点があります。

  1. OSはCentOS6
  2. サーバー側には、saitoユーザーが作成されている。
  3. saitoユーザーに対して、公開鍵認証によるログインを行う。

ローカル側でhomeディレクトリの直下に.sshディレクトリを作成する

$mkdir ~/.ssh

sshディレクトリに移動する

$cd ~/.ssh

.sshで鍵を作成する

$ssh-keygen

ローカル側に置いておく鍵(id_rsa)と対象のサーバに置いておく鍵穴(id_rsa.pub)を用意する。
.sshディレクトリに移動後、このコマンドを入力する。

lsコマンドでid_rsaとid_rsa.pubがあるのを確認する

$ls

.sshディレクトリでlsコマンドを入力し、id_rsaとid_rsa.pubが作成されているかを確認してください。

viコマンドでid_rsa.pubの中身を確認した後、中身を全文コピーする。

vi ~/.ssh/id_rsa.pub

このコマンドでid_rsa.pubを開き、全文をコピーしてください。
コピーした内容は、後ほどサーバー側の操作で使います。

以上でローカル側の準備は整いました。

次に鍵をセットしたいサーバー側に移ります。
saitoユーザーにsshでログインしている状態から始まります。

.sshディレクトリを作成する

$mkdir ~/.ssh

ホームディレクトリ直下に.sshを作成する。
サーバー側でもローカル側と同様に.sshディレクトリを作成します。

.sshの直下に「authorized_keys」という空のファイルを作成し、編集する

$vi ~/.ssh/authorized_keys

このコマンドでauthorized_keysを開き、「i」で編集できるようにしてから、
先ほどローカル側でコピーした、id_rsa.pubの中身をペーストする

.sshとauthorized_keysのパーミッションを変更する。

$chmod 700 ~/.ssh
$chmod 600 ~/.ssh/authorized_keys

.sshの権限を700(自分のみ読み書き可能)にする。
authorized_keysの権限を600(自分のみ読み書き可能)にする。

ローカル側からサーバー側にsshをしてみる

ssh  -i /Users/saito/.ssh/id_rsa

-i以降はローカル側で鍵を作成したところの絶対パスです。

以上で公開鍵認証によるログインができれば、無事成功となります。

最後に

今回はここまでです。公開鍵認証はセキュリティーに関わることなので、もっと奥が深いテーマなのですが、
とりあえず、このやり方でも鍵はかけられるよ〜ぐらいのレベルでお伝えさせていただきました。
今後また、情報を仕入れましたら、ブログの方を更新させていただこうと思います。

 

この記事が気に入ったら
いいね ! してください

Twitter で

Comments are closed.

  • Facebookのロゴ
  • Twitterのロゴ

Copyright © 2011 SSI Laboratory Inc. All Rights Reserved.