初めましての挨拶と公開鍵認証について

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

今回は、公開鍵認証の導入の仕方を紹介したいと思います。
ということで、今回やることは、
公開鍵認証を対象のサーバに導入し、「鍵を持った人のみがsshログインできるようにする。」です。
前提として、サーバー側には、以下の3点があります。
- OSはCentOS6
- サーバー側には、saitoユーザーが作成されている。
- 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 [email protected] -i /Users/saito/.ssh/id_rsa
-i以降はローカル側で鍵を作成したところの絶対パスです。
以上で公開鍵認証によるログインができれば、無事成功となります。
最後に
今回はここまでです。公開鍵認証はセキュリティーに関わることなので、もっと奥が深いテーマなのですが、
とりあえず、このやり方でも鍵はかけられるよ〜ぐらいのレベルでお伝えさせていただきました。
今後また、情報を仕入れましたら、ブログの方を更新させていただこうと思います。