ConoHa VPSに安全に接続!SSH接続の設定をして安全に通信しよう!

ConoHa VPS SSL - アイキャッチ

ConoHa VPSコノハ プイピーエスを利用していると、時としてどうしてもコマンド操作による設定変更等が必要になる事があります。

安全ではない通信、つまり誰でも通信を傍受できたりパスワードさえ入力すればログインできてしまう・・・こんな危険なことはありません。

そこで導入したいのがSSHエスエスエイチ接続

今日はConoHa VPSの通信を安全に行う為の設定をして行きたいと思います。

この記事はConoHa VPS+KUSANAGI契約時にSSH設定をしている方を対象にしていますが、そもそもSSHとは何か?の説明もしております。VPSサーバーにはあったほうが当然良い知識なので、読みものとして読んで頂けると幸いです。
また、後半部分は実際にクライアントからSSH通信を使って接続する方法も説明しています。

この記事でできる・わかる事

  • パスワードログイン・非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アドレスが必要です。

ConoHa VPS - サーバー一覧

ConoHa VPS – サーバー一覧

IPアドレスはサーバーリスト一覧からネームタグをクリックしてサーバーの詳細から確認できます。

ConoHa VPS - IPアドレス確認

ConoHa VPS – IPアドレス確認

ネームタグ名の後ろにある()で表示されたxxx.xxx.xxx.xxxという部分がサーバーのIPアドレスになります。

以降Macユーザーの方は飛ばして、MacでSSH接続する方法よりお読み下さい。

Tera Termのインストール

Windowsユーザーの方はオープンプロジェクトで開発されているターミナルソフトのド定番、Tera Termテラ タームをインストールして行きます。

Vectorでダウンロード

窓の杜でダウンロード

どちらでダウンロードしても同様の物ですのでお好きな方でダウンロードして下さい。

ダウンロード、利用共に無料です。

インストールは全て標準のままで次へ進んでOKです。

Tera Term

Tera Term

インストール後立ち上げるとこんな画面が開くと思うので、これでインストール完了です!

SSH接続設定

それでは必要な情報が手に入ったので、実際にSSH接続して行きましょう!

まずは先程のTera Termのホスト名にIPアドレスを打ち込んで行きます。

Tera Term - IPアドレス入力

Tera Term – IPアドレス入力

  1. IPアドレス入力
  2. OKボタンをクリック

IPアドレスはもちろんコピペでも手打ちでもOKですが、1ヶ所でも間違うと当然接続できないのでよく確認しましょう。

Tera Term - パスワードログイン

Tera Term – パスワードログイン

試しにこの状態でパスワードでログインしてみましょう。

必要なものはサーバー追加時に決めたrootパスワードです。

ユーザー名にroot、パスフレーズにrootパスワードを入力してOKを押してみると・・・

Tera Term - 認証失敗

Tera Term – 認証失敗

認証に失敗しました。

それもそのはず、サーバー追加時にSSH Keyの設定をしっかり行っていれば、デフォルトでパスワードログインが制限されています。

それではその下の「RSA/DSA/ECDSA/ED25519鍵を使う」欄の秘密鍵ボタンをクリックして、サーバー追加時にダウンロードした秘密鍵ファイル(.pem)を開きましょう。

秘密鍵はどこに保存しても良いんですが、無くなると困るので分かりやすい場所(例えばドキュメントフォルダの下にkeyというフォルダを作成してそこに保存する等)に移しておきましょう。

Tera Term - 秘密鍵設定

Tera Term – 秘密鍵設定

  1. ユーザー名root
  2. rootパスワード
  3. 秘密鍵
  4. OKをクリック
Tera Term - ログイン成功

Tera Term – ログイン成功

こんな感じの画面が出てきたらログイン成功です!

次項はMacユーザーの場合なので、次は初めてのコマンド操作をしてみよう!よりお読み下さい。

MacでSSH接続する方法

Mac ターミナル

Mac ターミナル

Macユーザーの方はこちらの手順で接続して行きましょう!

Macではユーティリティの中にターミナルというソフトが入っていますが、このターミナルを使ってサーバーにSSH接続が行えます。

上記の画像が実際のターミナル画面になります。

普段使っているユーザーでログインをして、ターミナルを開いて下さい。

ターミナル - 手順

ターミナル – 手順

今回上記の流れで作業します・・・と言っても最初はちんぷんかんぷんですよね笑。

上から順に説明して行きますが、最終的にこんな感じの画面になれば成功です!

実際に下記で入力するコマンドを表示しています。
コマンドの見方ですが、先頭の$マークは一般ユーザーである事を示しています。
逆に#は管理者ユーザーで、rootは管理者ユーザーに該当します。
皆さんは先頭の$+最初の半角スペースは無視して入力すればOK。
例えば「$ mkdir」というコマンドならmkdirだけ打てばOKです!
コマンドを入力した後はEnterキーを押下して下さい。

秘密鍵の場所を移動させる

まず最初の作業としてサーバー追加時にダウンロードした秘密鍵を、今後の利便性と管理のしやすさの為にユーザーフォルダの直下に.sshというフォルダを作り、そこで管理する形にします。

まず、mkdirというコマンドでユーザーフォルダ直下に.sshというフォルダを作って行きます。

ターミナル - mkdir

ターミナル – mkdir

$ mkdir ~/.ssh

コマンドを打ち込んだらEnterキーを押して下さい。

コマンド[mkdir]
ディレクトリ(フォルダ)を作成する為のコマンド

.sshフォルダを作ったら、次はそのフォルダの中にダウンロードした秘密鍵を移して行きます。

今度はmvというコマンドを使っていきます。

ターミナル - mv

ターミナル – mv

$ mv 今秘密鍵が保存されている場所のパス ~/.ssh/秘密鍵のファイル名

これちょっとコマンドが長くて大変ですよね、特にファイルの保存場所を示すパスの入力ってすげーめんどうです笑。

裏技的な感じで覚えると便利なのですが、mv と打った後にFinderを開いて秘密鍵を保存していある場所を開いて下さい。

で、秘密鍵をターミナルにドラッグ&ドロップすると勝手にそのファイルのパスを入力してくれます!

ターミナル - ドラッグでパス入力

ターミナル – ドラッグでパス入力

こんな感じですね!

一々ファイルのパスを入力するのは面倒なので、ターミナルを使うなら覚えておいて損は無いと思います!

コマンド[mv]
ファイルやディレクトリを移動させる為のコマンド

.sshフォルダのパーミッション

パーミッションはめちゃくちゃざっくり言うと権限の事で、そのファイルを誰がどう扱えるかがファイル、フォルダ単位で決まっています。

パーミッションは適切に設定しないとセキュリティ上問題が出てくるので、正しい設定を行う必要があります。

という事でこのパーミッションを変更して行きましょう!

パーミッションの変更もコマンドライン上で簡単に行なえます。

chmodという、権限を設定する為のコマンドを使って.sshフォルダの権限を決めます。

ターミナル - chmod

ターミナル – chmod

$ chmod 700 ~/.ssh
コマンド[chmod]
ファイルやディレクトリのパーミッション(権限/アクセス権)を設定する為のコマンド

今回は700というパーミッションを設定しました。

これは.sshフォルダにおいて自分には読み/書き/実行権限が付与(7)されているけれど、他のグループに属するユーザーや他人には一切の権限を与えない(00)という設定です。

接続してみよう!

それではこれで秘密鍵の準備が出来たので実際に接続してみましょう!

接続する為のコマンドはちょっと長いんですが、sshコマンドを使って接続します。

ターミナル - ssh

ターミナル – ssh

$ ssh root@xxx.xxx.xxx.xxx -i ~/.ssh/秘密鍵のファイル名.pem -p 22
コマンド[ssh]
SSH通信で接続する為のコマンド
オプション[-i]
秘密鍵の場所を指定するためのオプション
オプション[-p]
ポート番号を指定するためのオプション

xxx.xxx.xxx.xxxには実際のサーバーのIPアドレスが入ります。

ちょっと長いコマンドでしたが、これを日本語に直すと

「SSH通信でxxxってサーバーにユーザーrootでログインするよ!秘密の鍵はここにあるよ!22番の扉(ポート)から入るね!」

という物です笑。

ターミナル - 接続成功

ターミナル – 接続成功

最終的に接続が完了すると、一番下の行に「root@サーバーのIPアドレス」が表示されます!

初めてのコマンド操作をしてみよう!

それではログインできたところで、とにもかくにもこのコマンド操作になれなきゃいけません。

いくつか試してみましょう!

PHPのバージョンを確認する

WordPressがPHPピーエイチピーという言語で動いているので、プラグインの不具合があった時や何かしらのエラーが発生した時にPHPのバージョンを確認する事はよくあります。

そこでサーバーのPHPのバージョンを確かめてみましょう。

コマンド - php

コマンド – php

# php -v

こちらがその実行結果。

これを見ると、PHPのバージョンは7.3.5だという事がわかりますね!

コマンド[php]
PHPの実行や設定等に使うコマンド

Nginxのバージョンを確認する

続いてサーバーソフトウェアであるNginxエンジンエックスのバージョンも確認してみましょう!

これもプラグインが上手く動かなかったりWordpressの挙動がおかしい時に知っていると解決する糸口になる可能性があります。

コマンド - nginx

コマンド – nginx

# nginx -v

どうやらNginxのバージョンは1.15.12のようです。

コマンド[nginx]
Nginxの実行や設定等に使うコマンド
このようにPHPやNginx(サーバー)のバージョンはネット上でWordpressについて質問する時に、質問内容と一緒に添えてあげると答えてくれるユーザーさんも問題の切り分けがしやすいです(PHPx.x特有のバグとか仕様、みたいなのもあるので)。
Yahoo!知恵袋等で質問したり、テーマやプラグインの作者の方に質問をする機会があればテーマやWordpressのバージョンだけでなくPHPやサーバーのバージョンも一緒に記載してあげると解決まで早くなる可能性があるので、是非覚えておいて下さい。

接続を終了する

最後にSSH接続の終了をさせてみましょう。

exitコマンドを使って接続を安全に終了させられます。

コマンド - exit

コマンド – exit

# exit

このコマンドを入力するとSSH接続が終了し、WindowsでTera Termを使ってる場合はソフト自体も終了されます。

Macでターミナルの場合、SSH接続が終了しローカルユーザー(Macログインユーザー)のコマンドに切り替わります。

コマンド[exit]
現在ログインしているユーザーがログアウトする際に使うコマンド
Tera Termやターミナルを×ボタンで終了させる事もできるんですが、これはあくまでソフトを終了させただけでSSH接続そのものは維持される可能性があります。
セキュリティを考えてもあまりよろしくないので、必ずexitコマンドを使って終了させるようにしましょう。

SSHで安全に接続してセキュリティを高めて行こう!

これでSSH接続を使って強固なログイン・安全な通信が行えるようになりました。

しかしこれではまだrootという超強力な権限を持ったユーザーでログインが出てきてしまうので、安全を考えるとrootではなく違うユーザーでログインをするべきです。

安全な運営を行う為に、rootユーザーでの接続を禁止し必要な時にrootユーザーの権限を借りるように別途設定して行きましょう!

Wordpress
\お役に立てたらシェアして下さると嬉しいです/
この記事を書いた人
けんちゃん

現役サポートミュージシャン、その他FXやサイト運営で生計を立てています。テクノロジー系の事も好きだったり。
大体1ヶ月にブログだけで40代~50代サラリーマンの年収ぐらい稼いでます。

けんちゃんをフォローする

よく読まれているオススメ記事

L'7 Records

コメント

タイトルとURLをコピーしました