【お名前.com】WordPressを共用SDサーバーからVPS(KVM)へ乗り換える その2

CentOS + Nginx でのサーバ構築。1から始める初心者向けです。
なお、筆者もばりばりの初心者です。

<その2>では、秘密鍵を使うリモートコンソールのSSH接続作業用ユーザの新規登録を行います。

SSHという暗号化通信で安全にリモートコンソールを使用できるようにする。
root以外の作業用ユーザ(一般ユーザ)を作成し、普段はこちらで作業する。


VPSリモートコンソールでSSH接続する

コンソールってなんだろうと思い調べてみたところ「コンピュータを操作するために使う入出力装置のセット」だそうです。ラジコンを動かすリモコンのようなイメージでしょうか。

SSHとは「Secure Shell」の略で、リモートコンソールでコンピュータを操る際に通信を暗号化して安全に操作するためのソフトウェアの1つだそうです。

お名前.comのVPSコントロールパネルには「コンソール画面」というのがあります。
これが正にリモートコンソールです。

これを使っても良いのですが、毎回ブラウザからログインするのは非常に面倒ですし、画面的にも扱いにくいので別の手段でSSH接続できるようにします。

コンソール画面

↑これがお名前.comのVPSコントロールパネルから操作できるリモートコンソール
これは使わない方向で行きます。

私は「Tera Term」というリモートコンソールを使うことにしてみました。
早速ダウンロードしてインストールします。

Tera Term

起動するとすぐに下のダイアログが出てきます。

teraterm01

画像で青く塗りつぶしてあるホストの部分に、お名前.comのVPSコントロールパネルなどで確認できる自分の借りたVPSのIPアドレス(例:111.222.333.444)を入れて「OK」を押します。

これは自分の借りているVPSのIPアドレスです。

その他の設定はこの時点では変更しなくて大丈夫です。
TCPポートの部分も初期の22でOKです。

teraterm02

初回はこのようにセキュリティ警告(上画像)が出ますが、そのまま「続行」を押します。
するとSSH認証のダイアログ(下画像)が開きます。

teraterm03

お名前.comのVPSの場合、秘密鍵を使ったログインをする必要があるようです。
秘密鍵はVPSのコントロールパネルから「SSH Private Key」をダウンロードして使います。

秘密鍵 = SSH Key です。

sshkey

コントロールパネルの左側、「SSH Key Pair」から「Private Key ダウンロード」でダウンロードできるのでデスクトップなどわかりやすいところへダウンロードしておきましょう。

続いて、SSH認証ダイアログを埋めていきます。

「ユーザ名」には「root」。
「パスフレーズ」には何も入力しません、空欄でOKです。
「RSA/DSA/ECDSA/ED25519鍵を使う」にチェック。
その右の「秘密鍵」をクリックして先ほどダウンロードした「SSH Private Key」を選択。
「.key」という拡張子のせいでファイルが見えない可能性があります。
その際は選択画面で「全てのファイル」を表示して選択しましょう。
teraterm04

拡張子の問題は割愛しますが、とりあえず秘密鍵が見つかりさえすれば大丈夫です。
指定できたら「OK」を押してログインします。

sshlogin

ログインできました。
これでブラウザを介さず「TeraTerm」で直接VPSにログインできます。

余談ですが、「TeraTerm」のメニューバーの「設定」から「端末」を選ぶとウィンドウの大きさなどが変更でき、「その他の設定」から「表示タブ」を選んだところにある「半透明度」の数字を変更するとウィンドウが透過表示されます。透過表示はブログを見ながらコマンドを打つ時に便利なのでオススメです。私は「192」に設定しています。

変更後は「設定の保存」をしておきましょう。
設定の保存を行うと「TeraTerm」を立ち上げた時に変更後の設定で立ち上がります。

最新版の確認とアップデート

初コマンドです。見よう見まねで

cat /etc/redhat-release

と入力してみました。スペースは半角です。すると、

CentOS release 6.5 (Final)

と返ってきました、OSは最新版(当時)のようです。よく見たらログイン時にFinalと書いてありますね。
この他にもログイン時に「Nginx1.4 + PHP5.4+ Percona5.5」と表示されています。

サーバ用にはnginx(エンジンエックス)、データベース用にはMySQLの互換性を持つPerconaがインストールされています。PHPもすでに入っており、すぐにでもWordPressが利用できる環境になっています。

続いて、

yum update

と入力すると、ずらずらーっと項目が出てきて最後に「Is this OK? [y/N]」と聞かれるので「y」を押します。「Enter」を押すと次々にDLが始まりアップデートが始まりました。これは初心者には壮観です。

しばらく眺めていると「Complete!」が表示されました。
現在入っているソフトなどなどが最新版にアップデートされました。

sshud

初回はrootでログインしているため「yum update」で実行が可能ですが、作業ユーザでアップデートを行う場合は「sudo権限を持った作業ユーザ」で

sudo yum update

と、頭に「sudo」を付けて実行する必要があります。
次の項目ではその作業ユーザを作成します。

作業用ユーザの新規登録

rootユーザでログイン可能なままにしておくとセキュリティ上狙われやすく、作業を行う上でも権利が強すぎるというのもよろしくないということなので、新しく作業用のユーザを作成します。

新しく作成した作業用ユーザには<root権限をいつでも使える = sudoコマンドが使える>ように設定した上で、この先rootユーザではログインが出来ないようにしてしまいます。

まずはroot以外の作業用ユーザを登録します。
この作業自体はrootとしてログインした状態で行います。
コンソールに「useradd」と打ち、続いてユーザ名を「任意で入力」し「Enter」を押します。

useradd mndangler

上記の例では「mndangler」というユーザを登録してみました。
続いてパスワードを決めます。

passwd mndangler

と入力し「Enter」を押すと、

ユーザー mndangler のパスワードを変更。
新しいパスワード:

と返してくるので、パスワードを決めて入力します。
キーボードを押しても文字が見えませんが気にせず最後まで入力します。

パスワードを入力して「Enter」を押すと、

新しいパスワードを再入力して下さい

と返してきますので、再入力します。
ここでは例としてパスワードを「abc123」にしたと仮定します。

passwd: 全ての認証トークンが正しく更新できました。

と出て新規ユーザ登録とパスワード設定の完了です。

ユーザ:mndangler
パ ス:abc123

が新たに作られました。
以降はこのユーザ名とパスで説明していきます。

作成した作業用ユーザの権限をrootまで上げられるようにする

権限を「rootまで上げる」、とはすなわち「sudo」コマンドが使えるようにするという意味です。

そのためにはまず、先程作成したユーザを「wheel」というグループに入れます。
「wheelグループ」とは「root権限を持つことのできるグループ」だそうです。

gpasswd -a mndangler wheel

上記のように入力し「Enter」を押し、無事成功すれば下記の返答があります。

Adding user mndangler to group wheel

「-a」が<Add>の「a」だと思われます。
同じ部分を「-d」にするとユーザをグループから消せるようなので、これは「Delete」の「d」なのだと思います。

続いて、

vi /etc/pam.d/su

と入力します。

すると12行程の項目がずらずらっと展開されます。

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth            required        pam_wheel.so use_uid
auth            include         system-auth
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         optional        pam_xauth.so
~
~
~
~
~
~
~
~
~
~
~
"/etc/pam.d/su"

vi」というのはテキストエディタの1つで、これを打ち込むとコンソール画面がエディタに変わるようです。
つまり、出てきた12行程の項目は「suというファイルの中身」が展開されたものです。

12行程の中に下記の行を探し先頭の「#」を消します。私の場合は6行目でした。

先頭に「#」が付いた行はコメントアウトという状態で、これが付いた行の内容は読み込まれず無効になります。
「#」を消すことでこの一行が有効になり読み込まれるようになります。
#auth           required        pam_wheel.so use_uid

「#」の消し方で若干悩んだのですが、BackSpaceキーやDeleteキーでは消えてくれません
消し方は2種類あります。

その1. キーボードの「X(エックス)」キーで消えてくれます。
その2. 「i(アイ)」キーを押して挿入(Insert)モードにするとBackSpaceキーで削除できます。

どちらの方法でも良いのですが、今後の作業で多く使うのは「その2」の方なので「挿入モード」に慣れたほうが良いかもしれません。

無事「#」を外せたら「変更を保存して vi を終了」したいのですが、これも初心者にはかなり特殊な作業です。

まず「挿入モード」から抜けた状態にして、キーボードで「:wq(コロン、ダブリュー、キュー)」と入力し、「Enter」を押すと保存して終了できます。

現在が「挿入モード」になっているかどうかはコンソール画面の左下に「挿入」または「Insert」と表示されているかどうかで判断できます。「挿入モード」から抜ける場合はキーボードの「Esc」キーを一度押します。

insert

↑これが出ていると「挿入」モードになっています。

「挿入モード」から抜けた状態で「:wq」を打つとコンソールの左下に打ち込んだ文字が出てきますので、ここでも判断することができます。(↓画像参照)

コマンド?

また、編集を間違えてしまった場合などは「保存せずに終了」できる
:q!(コロン、キュー、エクスクラメーション)+ Enter
を使って、一度戻ってからやり直すと良いと思います。

:wq」と「:q!」は非常によく使うので早めに慣れてしまいましょう。


以上の操作でユーザが「wheelグループ」に所属できたはずです。
確認するために以下のコマンドを打ってみましょう。

id mndangler

返答を見ます。

uid=500(mndangler) gid=500(mndangler) 所属グループ=500(mndangler),10(wheel)

この中の「10(wheel)」が表示されていればグループに属しているようです。
無事所属できました。

作業ユーザに sudo 権限を与える

sudo権限」については各所で触れてきましたが、おさらいということで調べてみました。

Unix系OSのコマンドの一種。root権限の一部をroot権限のパスワードを公開せずに委譲できる。

root権限」を指定したユーザに委譲するための措置です。

現在作成している作業用ユーザは「rootとして作業するのではなく、必要な時にrootと同じ権限を使うことができる」というふうに考えましょう。

とにかく、ここもひとまずコマンドを入力してみます。

visudo

ずらずらっと項目が出てきます。
コンソール画面1ページどころではありません、スクロールしてもいつまでも続いています。

この中から「wheel ALL ~」という箇所を探さなくてはいけません。
そこで、便利な検索機能があるようなので使ってみます。

「/」の後に文字を入れると検索ができるそうなので「/wheel」と入力してみました。

wheel_search

「Enter」を押すと該当箇所に一気に飛ぶことが出来ました。

wheelall

変更箇所は↓こちらの2行の下の行だけです。「#」を外します。
このすぐ下に似たような内容の2行があるので、わかりやすいように2行とも書きました。

## Allows peple in group wheel to run all commands
# %wheel          ALL=(ALL)        ALL

先程と同じ要領で「#」を「X(エックス)」キー、または挿入モードにして「i(アイ)」キーで削除してこの行を有効にします。「#」と「%」の間にスペースが入っているので、それも削除して行頭を揃えます。

## Allows peple in group wheel to run all commands
%wheel          ALL=(ALL)        ALL

このようにできたら「挿入モード」を抜けて「:wq+Enter」で保存して終了します。
これで「wheel」グループにいるユーザが「sudo権限」を使うことができるようになりました。

<その2>のまとめ

これにて「sudo権限を持った作業用ユーザ」の作成が完了しました。
現在、「root」と「mndangler」の2人(?)が存在します。

これより先は作業用ユーザ「mndangler」にて操作を進めていくわけですが、ソフトのインストールやファイルの作成・削除など色々な場面で「root」としての実行権限が必要になってきます。

その際に「mndangler」のままで「root」としての権限を使うために「sudo権限」を「mndangler」に与えました。

作業用ユーザ「mndangler」のままで実行可能な作業はそのままコマンドを入力し、「root権限」が必要な作業はコマンドの頭に「sudo」を打って権限を使うことになります。

具体的にどうなるかと言うと、ユーザが「mndangler」のままで

yum update

と打つと以下のように「このコマンドはroot権限が必要だよ」と怒られます。

You need to be root to perform this command.

このような時に、

sudo yum update

と打つことで「root権限」を持ってコマンドを実行することができるようになりました。


<その3>ではVPSへのSSH接続を強固にし、同時に「root」でのログインを禁止します。
また、ファイアウォールを中心にセキュリティ関連を設定していきます。

その3 … SSH公開鍵・秘密鍵を自分で用意、SSH設定の変更とファイアウォールの設定へ

コメント

 DISQUSコメントシステムとは?
DISQUSコメントシステムFacebook Twitter Google などのアカウントを使用してコメントを残すことができます。
また、それらを使いたくない場合でも メールアドレスのみ でコメントが可能で、その際のアドレスはもちろん非公開です。
YouTubeTweet などはURLを貼ると自動で埋め込み表示されますし、画像をアップすることもできます。
お気軽にコメント頂けると嬉しいです。

New Post



Random


CLOSE