0%

DevelopWEB開発・運用ノウハウ

Posted:2017.07.29

VPSでWordPressサイトを運用するサーバー構築(6)〜公開鍵認証を使うSSHログイン設定〜

rootユーザーのログイン制御とSSHのポート番号変更とセキュリティに関する施策を行ってきましたが、最後はもっとも強固な対策である鍵認証を使ったログイン設定をしていきます。

 

公開鍵と秘密鍵使った認証

鍵認証とは、その名の通り鍵となるファイルを使った認証方式で、ちょうど鍵と錠前のように「公開鍵」と「秘密鍵」のペアを合わせることで認証される仕組みになります。このうち「公開鍵」はサーバー側に設置しておき、「秘密鍵」をクライアント側に持っておきます。

 

秘密鍵を持っているクライアントだけが公開鍵のあるサーバーにログイン(別途パスワードの入力は必要)できるということで、他のPCからのアクセスを防ぐことができます。但し、秘密鍵を盗まれてしまうと、パスワードの入力だけでログインできてしまうのと、紛失してしまうと新たに作成しないとログインできなくなってしまうのでしっかりと管理します。

 

1. クライアント側で秘密鍵と公開鍵を生成する

1-1. ルートディレクトリに「.ssh」フォルダを作成します(無い場合のみ)

$ mkdir .ssh

 

1-2. 「.ssh」フォルダのパーミッションを下記の通り変更します。

$ chmod 700 .ssh

 

1-3. 「.ssh」フォルダに移動して下記コマンドで秘密鍵と公開鍵のキーペアを生成します。その際にパスフレーズも設定しますので、忘れないように控えておきます。

$ cd ~/.ssh/
$ ssh-keygen

 

1-4. 「.ssh」フォルダに秘密鍵ファイルである「id_rsa」と、公開鍵ファイルの「id_rsa.pub」が生成されているのを確認します。

 

補足:秘密鍵と公開鍵のキーペアで「id_rsa」「id_rsa.pub」と異なる名前にしたい場合(すでに存在していて名前が同じになる時など)はキーペア作成のコマンド入力後に表示される下記のタイミングでファイル名を変更することができます。

$ ssh-keygen

// 通常時
Enter file in which to save the key (/Users/USERNAME/.ssh/id_rsa): /User/USERNAME/.ssh/id_rsa

 ↓

// ファイル名変更時
Enter file in which to save the key (/Users/USERNAME/.ssh/id_rsa): /User/USERNAME/.ssh/[id_rsaの変更後ファイル名]

これでキーペアが「変更後のファイル名」「変更後のファイル名.pub」になります。

 

1-5. 公開鍵である「id_rsa.pub」の中身を下記コマンドで表示させて、その中身に書かれている内容を全てコピーします。

$ cat id_rsa.pub

 

2. サーバー側に公開鍵を設置する

2-1. サーバーへログインして、先ほどと同じくルートディレクトリに「.ssh」フォルダを作成しパーミッションを変更します。最後に「.ssh」フォルダへ移動しておきます。

$ mkdir .ssh
$ chmod 700 .ssh
$ cd ~/.ssh

 

2-2. 「.ssh」フォルダ内に「authorized_keys」というファイルを作成します。vimエディタでファイルを作成し、先ほどクライアント側で作成した公開鍵「id_rsa.pub」の中身をペーストして保存します。

$ vim authorized_keys

 

2-3. 作成した「authorized_keys」のパーミッションを変更します。

$ chmod 600 authorized_keys

 

2-4. 一旦ログアウトして下記のコマンドを入力し公開鍵を使った方法でログインできるかを確認します。

$ ssh -i .ssh/id_rsa [USERNAME]@[HOSTNAME] -p [PORTNUMBER]

 

2-5. ログインができれば、rootユーザーにスイッチして以降はユーザー名でのパスワード認証ができないように「sshd_config」フォルダを編集します。vimエディタでファイルを開きます。

$ su -
# cd /etc/ssh
# vim sshd_config

 

2-6. 「sshd_config」フォルダ内の下記の項目を次のように変更し保存します。

PasswordAuthentication yes (変更前)
  ↓
PasswordAuthentication no (変更後)

 

2-7. SSHサーバーを再起動して変更内容を反映させます。最後に公開鍵認証でログインができ、ユーザー名とパスワードでのログインができなくなっているのを確認します。

# service sshd restart

 


 

これでペア鍵を持っているサーバーとクライアント間でしかログインができなくなりました。セキュリティは強くなりましたが、鍵の管理には十分気をつけるようにしましょう。公開鍵認証にあたっての設定は少し難しくてややこしい部分もありますが、一つひとつ進めていくとわかりやすいかと思います。

 

(参考)
「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座(2)

 

 

 

author
この記事を書いた人オガワ シンヤ
FacebookTwitter

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちら

デザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。

ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。

コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。

こんな記事も読まれています

コメントもお気軽にどうぞ

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

CAPTCHA


ページトップへ
大阪市天王寺区のホームページ制作デザイン事務所(SOHO)DesignSupply.【デザインサプライ】