ConoHa VPSを利用していると、時としてどうしてもコマンド操作による設定変更等が必要になる事があります。
安全ではない通信、つまり誰でも通信を傍受できたりパスワードさえ入力すればログインできてしまう・・・こんな危険なことはありません。
そこで導入したいのがSSH接続。
今日はConoHa VPSの通信を安全に行う為の設定をして行きたいと思います。
- パスワードログイン・非SSH接続の危険性がわかる!
- SSH接続がどんなものかわかる!
- Windows/MacそれぞれでSSH接続ができる!
SSHって何?
SSHはSecure Shellの略で、ようはWebで言うSSL(セキュア通信・https)みたいなものです(詳しく説明すると語弊がありますが、とりあえずここではそういう安全な通信の類であると思って下さい)。
サーバーとコマンドを通して通信する手段の一つなんですが、通信を暗号化する事で安全に通信が行えます。
ログインする為にはパスワード認証か秘密鍵認証の2種類があり、通常のパスワード認証方式だとパスワードさえ知っていれば簡単にログインできてしまいますが、この鍵認証によってセキュリティレベルがグンとあがります。
自宅の鍵を想像してみて下さい。
ドアノブを右に回すのか左に回すのか、それとも引くのか押すのか、はたまた横にスライドさせるのか。
知っていれば開けられますよね?これがパスワードです。
開け方を知っていればの話ですが、見たことも聞いたことも無い形状のドアでも時間をかければ開け方がわかります(=パスワードの総当たり攻撃)
しかし仮にドアの開け方がわかったにしても、肝心の鍵を持っていないと開けられないですよね?
パスワードがどんなに危険か伝わったなら嬉しいんですが、ようはパスワードのみだと鍵もかけずに扉だけ締めているようなもんです。
という事で認証鍵を使ったSSH通信は絶対に導入しましょう、VPSサーバーを公開する以上必須です!
SSH接続ってどんな時に使うの?
SSH接続は直接サーバー上の設定ファイルを編集する時等に使います。
他にもコマンドを操作して欲しいソフトウェアをインストールする時なんかにも使いますね。
ConoHa VPS+KUSANAGI環境でWordPressを運営する場合、多分多くの方が行うのがwww.有り無しのリダイレクト設定です。
通常エックスサーバーに代表されるApacheというサーバーソフトウェアで動いているサーバーの場合.htaccessというファイルを編集してそれを行いますが、ConoHa VPS+KUSANAGIの標準環境の場合.htaccessは使えません。
という事でコマンド操作をして設定ファイルに書き加える作業が発生するのですが、ここでSSH接続が使用されます。
SSH接続ってどうやってやるの?
SSH接続はサーバーとコマンドでやり取りする時に使用します。
と言っても難しい方法ではありません。
あなたがWebサイトにアクセスする時、セキュアな通信が出来るサイトはhttpsで接続するし、逆に未対応のサイトはしょうがないからhttpで見ますよね?
これは言い換えればセキュア通信に対応しているサイトはhttpsでアクセスするという約束に従ったもの。
あれと同じで、ちゃんと約束に従って接続するだけです!
ConoHa VPSのSSH設定
まずSSHで接続する方法ですが、基本的には専用ソフトを使った方が楽です。
一応ConoHa VPSのサーバー詳細からコンソールボタンを押すと同様の事が出来るんですが、一々ConoHa VPSにログインしなきゃいけなかったりコピペができなかったりして非常に不便なので、ここではソフトを介して行う方法を解説致します。
なおMacからの場合、OS X以降であれば別途ソフトを用意しなくてもターミナルからログイン出来るので、専用ソフトが必要になるのはWindowsだけです。
IPアドレスの確認
ConoHa VPSのサーバーへログインする為に必要な情報として、まずIPアドレスが必要です。
IPアドレスはサーバーリスト一覧からネームタグをクリックしてサーバーの詳細から確認できます。
ネームタグ名の後ろにある()で表示されたxxx.xxx.xxx.xxxという部分がサーバーのIPアドレスになります。
以降Macユーザーの方は飛ばして、MacでSSH接続する方法よりお読み下さい。
Tera Termのインストール
Windowsユーザーの方はオープンプロジェクトで開発されているターミナルソフトのド定番、Tera Termをインストールして行きます。
ダウンロード、利用共に無料です。
インストールは全て標準のままで次へ進んでOKです。
インストール後立ち上げるとこんな画面が開くと思うので、これでインストール完了です!
SSH接続設定
それでは必要な情報が手に入ったので、実際にSSH接続して行きましょう!
まずは先程のTera Termのホスト名にIPアドレスを打ち込んで行きます。
- IPアドレス入力
- OKボタンをクリック
IPアドレスはもちろんコピペでも手打ちでもOKですが、1ヶ所でも間違うと当然接続できないのでよく確認しましょう。
試しにこの状態でパスワードでログインしてみましょう。
必要なものはサーバー追加時に決めたrootパスワードです。
ユーザー名にroot、パスフレーズにrootパスワードを入力してOKを押してみると・・・
認証に失敗しました。
それもそのはず、サーバー追加時にSSH Keyの設定をしっかり行っていれば、デフォルトでパスワードログインが制限されています。
それではその下の「RSA/DSA/ECDSA/ED25519鍵を使う」欄の秘密鍵ボタンをクリックして、サーバー追加時にダウンロードした秘密鍵ファイル(.pem)を開きましょう。
秘密鍵はどこに保存しても良いんですが、無くなると困るので分かりやすい場所(例えばドキュメントフォルダの下にkeyというフォルダを作成してそこに保存する等)に移しておきましょう。
- ユーザー名root
- rootパスワード
- 秘密鍵
- OKをクリック
こんな感じの画面が出てきたらログイン成功です!
次項はMacユーザーの場合なので、次は初めてのコマンド操作をしてみよう!よりお読み下さい。
MacでSSH接続する方法
Macユーザーの方はこちらの手順で接続して行きましょう!
Macではユーティリティの中にターミナルというソフトが入っていますが、このターミナルを使ってサーバーにSSH接続が行えます。
上記の画像が実際のターミナル画面になります。
普段使っているユーザーでログインをして、ターミナルを開いて下さい。
今回上記の流れで作業します・・・と言っても最初はちんぷんかんぷんですよね笑。
上から順に説明して行きますが、最終的にこんな感じの画面になれば成功です!
秘密鍵の場所を移動させる
まず最初の作業としてサーバー追加時にダウンロードした秘密鍵を、今後の利便性と管理のしやすさの為にユーザーフォルダの直下に.sshというフォルダを作り、そこで管理する形にします。
まず、mkdirというコマンドでユーザーフォルダ直下に.sshというフォルダを作って行きます。
コマンドを打ち込んだらEnterキーを押して下さい。
.sshフォルダを作ったら、次はそのフォルダの中にダウンロードした秘密鍵を移して行きます。
今度はmvというコマンドを使っていきます。
これちょっとコマンドが長くて大変ですよね、特にファイルの保存場所を示すパスの入力ってすげーめんどうです笑。
裏技的な感じで覚えると便利なのですが、mv と打った後にFinderを開いて秘密鍵を保存していある場所を開いて下さい。
で、秘密鍵をターミナルにドラッグ&ドロップすると勝手にそのファイルのパスを入力してくれます!
こんな感じですね!
一々ファイルのパスを入力するのは面倒なので、ターミナルを使うなら覚えておいて損は無いと思います!
.sshフォルダのパーミッション
パーミッションはめちゃくちゃざっくり言うと権限の事で、そのファイルを誰がどう扱えるかがファイル、フォルダ単位で決まっています。
パーミッションは適切に設定しないとセキュリティ上問題が出てくるので、正しい設定を行う必要があります。
という事でこのパーミッションを変更して行きましょう!
パーミッションの変更もコマンドライン上で簡単に行なえます。
chmodという、権限を設定する為のコマンドを使って.sshフォルダの権限を決めます。
今回は700というパーミッションを設定しました。
これは.sshフォルダにおいて自分には読み/書き/実行権限が付与(7)されているけれど、他のグループに属するユーザーや他人には一切の権限を与えない(00)という設定です。
接続してみよう!
それではこれで秘密鍵の準備が出来たので実際に接続してみましょう!
接続する為のコマンドはちょっと長いんですが、sshコマンドを使って接続します。
xxx.xxx.xxx.xxxには実際のサーバーのIPアドレスが入ります。
ちょっと長いコマンドでしたが、これを日本語に直すと
「SSH通信でxxxってサーバーにユーザーrootでログインするよ!秘密の鍵はここにあるよ!22番の扉(ポート)から入るね!」
という物です笑。
最終的に接続が完了すると、一番下の行に「root@サーバーのIPアドレス」が表示されます!
初めてのコマンド操作をしてみよう!
それではログインできたところで、とにもかくにもこのコマンド操作になれなきゃいけません。
いくつか試してみましょう!
PHPのバージョンを確認する
WordPressがPHPという言語で動いているので、プラグインの不具合があった時や何かしらのエラーが発生した時にPHPのバージョンを確認する事はよくあります。
そこでサーバーのPHPのバージョンを確かめてみましょう。
こちらがその実行結果。
これを見ると、PHPのバージョンは7.3.5だという事がわかりますね!
Nginxのバージョンを確認する
続いてサーバーソフトウェアであるNginxのバージョンも確認してみましょう!
これもプラグインが上手く動かなかったりWordPressの挙動がおかしい時に知っていると解決する糸口になる可能性があります。
どうやらNginxのバージョンは1.15.12のようです。
接続を終了する
最後にSSH接続の終了をさせてみましょう。
exitコマンドを使って接続を安全に終了させられます。
このコマンドを入力するとSSH接続が終了し、WindowsでTera Termを使ってる場合はソフト自体も終了されます。
Macでターミナルの場合、SSH接続が終了しローカルユーザー(Macログインユーザー)のコマンドに切り替わります。
SSHで安全に接続してセキュリティを高めて行こう!
これでSSH接続を使って強固なログイン・安全な通信が行えるようになりました。
しかしこれではまだrootという超強力な権限を持ったユーザーでログインが出てきてしまうので、安全を考えるとrootではなく違うユーザーでログインをするべきです。
安全な運営を行う為に、rootユーザーでの接続を禁止し必要な時にrootユーザーの権限を借りるように別途設定して行きましょう!
ConoHa VPS+KUSANAGIで始めるWordPress超高速環境
当記事はWordPressを超高速化できるWordPress専用仮想マシンKUSANAGIをConoHa VPSで初心者でも簡単に導入できるというコンセプトの1記事です。
手順通りに行えば誰でもKUSANAGI環境が実現できる!を目指して作成しました。
是非合わせてお読み下さい!
コメント