複数サーバー間でSSH鍵を交換する
VPSサービスを複数台構成で使う
近年、共用レンタルサーバーが影を潜め、VPS(Virtual Private Server:仮想専用サーバー)が盛況になってきました。
共用レンタルサーバーでは1つのOSインストールイメージ下に大勢のユーザー(数人~数百人)が一般ユーザーアカウントとして割り当てられます。共用レンタルサーバーではroot権限がもらえないため、ホームページ公開等限られた用途でしか使えませんでした。それに対してVPSでは契約ごとに異なったOSインストールイメージが割り当てられ、それぞれにrootアカウントが付与されます。VPSではroot権限がもらえるため、専用サーバーの感覚でいろいろな用途での利用が可能となります。
一度VPSサービスを利用してしまうと、共用レンタルサーバーで感じていた様々な制約や制限から解放され、二度と共用レンタルサーバーに戻れないと感じることでしょう。最近では月額500円程度で使える安価なVPSサービスが各社から登場し、VPSサービスを気軽に利用できるようになりました。ちょっと試してみたいというだけでも躊躇(ちゅうちょ)なく利用できる金額ですよね。
VPSの使い勝手の良さは最近人気のソーシャルアプリサイトでよく利用されていることでもわかります。ソーシャルアプリサイトではサービス開始時にサーバーを大量に用意しておき、サービスリリース後に実際のサーバー稼働率を見ながらサーバー台数を調整していきます。こういった柔軟な運用方法は物理サーバーやレンタルサーバーでは実現が難しく、まさにクラウド時代ならではの利用方法と言えるでしょう。
前置きが長くなりましたが、本連載では、VPSを複数台関連づけて利用する際に必要となる様々な実例を具体的にご紹介していきたいと思います。本連載を通してVPSサービスの便利さを再確認していただけたら幸いです。
※なお本連載で扱うOSは便宜上CentOSとさせていただきます。
SSH鍵の交換
VPSを複数台構成で扱うにあたり、まずは連携するサーバー間でSSH鍵の交換を行うところから入っていきたいと思います。
SSH鍵は、特定ホストから接続するサーバーにパスワード入力なしで接続するために必要となるものです。一口にSSH鍵と言っても、実際は秘密鍵(Private Key)と公開鍵(Public Key)という2種類の鍵がセットになります。
秘密鍵と公開鍵は次のような関係性で用いられます。送信したいメッセージがあったとして、そのメッセージを、秘密鍵を使って暗号化すると、公開鍵で復号化することができます。逆に、公開鍵を使って暗号化すると、秘密鍵で復号化することができます。この原理を応用して、通信する片方のホストが秘密鍵を持ち、もう片方のホストが公開鍵を持てば双方向で暗号化メッセージのやりとりが行えるようになります。
図1:暗号化メッセージ交換(クリックで拡大) |
SSH鍵を使った通信を行う場合、通信する相手側のホストに公開鍵を配布する必要があります。公開鍵はその名の通り公開しても構わない鍵ですので、配布の際は特に暗号化せず平文のまま相手側のホストに送ってしまっても構いません。しかし逆に秘密鍵は絶対に盗まれてはいけません。秘密鍵が盗まれてしまうと、もし公開鍵を持っているホストとの通信内容が傍受された場合全て解読されてしまいますので、秘密鍵に関しては盗まれないようしっかりと管理しておく必要があります。
複数台構成でサーバーを扱う際、連携するサーバー間でSSH鍵を交換しておくと便利なことが3点あります。それは
- サーバー間でパスワード入力なしでSSHログインできるようになる
- サーバー間でファイルを自由にコピー/移動できるようになる
- サーバー間でパスワード入力なしでコマンドを実行できるようになる
などといったものです。
それでは次ページにて実際にSSH鍵を交換する方法をご紹介いたします。