サーバの管理_SSHによるサーバ管理
初期設定
第三者による攻撃や不正アクセスを防止するため、初期状態ではsshdのアクセス制限が設定されています。 初期設定を行うまではすべてのアクセス元からのアクセスが禁止された状態になっていますので、はじめに初期設定を実行して下さい。 初期設定を行うには、コントロールパネルにログインして「初期設定」メニューから「sshdのアクセス制限」を選択します。
表示された画面には自動的に現在コントロールパネルにアクセスしている接続元のIPアドレスが表示されています。 一般的なインターネット接続環境の場合はこのIPアドレスがSSHで接続する時の接続元になりますので、 そのまま「アクセス制限」ボタンをクリックして下さい。続いて確認の画面が表示されますので、「実行」ボタンをクリックして下さい。 これでコントロールパネルに接続している接続元のIPアドレス(お客様の端末をサーバ側から見た時のグローバルIPアドレス)が /etc/hosts.allow ファイルに登録され、そのIPアドレスからSSHでアクセスすることが可能になります。
Webのプロキシサーバを使用している場合など、お客様の接続環境によってはコントロールパネルにアクセスする時の接続元IPアドレスと SSHでアクセスする時の接続元IPアドレスが異なる場合がございます。 このような場合は、表示されたIPアドレスを編集して任意のアクセス元IPアドレスを設定することも可能です。
sshdの起動
ご利用開始直後の状態ではsshdは停止していますので、接続する前にコントロールパネルからsshdを起動して頂く必要があります。
コントロールパネルにログインして、「再インストール」メニューから「sshdの再インストール/起動」を選択して下さい。
画面の右側に表示された「sshdの起動」の項目にある「起動」ボタンをクリックします。確認が表示されますので「実行」ボタンをクリックしてください。
これでsshdが起動し、SSHで接続できる状態になります。接続する前にコントロールパネルからsshdを起動して頂く必要があります。
コントロールパネルにログインして、「再インストール」メニューから「sshdの再インストール/起動」を選択して下さい。
自動起動の設定
sshdを起動するとSSHで接続できるようになりますが、そのままの状態ではOSを再起動するたびに手動でsshdを起動しなければなりません。
OSの再起動と同時にsshdを自動起動したい場合はコントロールパネルの「仮想専用サーバの起動/停止」メニューから「サービス自動起動設定」を選択し、
sshdのチェックを「on」に変更して「サービス自動起動設定の変更」を選択して下さい。
接続方法
SSHで仮想専用サーバに接続するにはSSH用のクライアントが必要となります。 WebARENA SuitePROで採用しているFedora Core 3は標準の文字コードがUTF- 8に設定されていますので、 UTF-8に対応しているSSHクライアントソフトのご利用をお勧め致します。
リンク先のサイトはいずれも弊社管理外のサイトとなりますので、Webサイトへのアクセス・ソフトウェアのご利用はお客様の責任において行って下さい。 ソフトウェアのダウンロード・インストール・詳細な設定方法についてはサポート致しかねます。
初期状態ではSSHでログインできるアカウントは管理用アカウントのrootのみとなっていますので、 rootアカウントを使用して接続します。SSHクライアントソフトに以下の情報を入力して下さい。
サーバのアドレス:(IPアドレス)
ユーザー名:root
パスワード:(rootのパスワード)
たとえば、お客様のIPアドレスが123.123.123.123の場合は以下の内容をSSHクライアントソフトに設定して下さい。
サーバのアドレス:123.123.123.123
ユーザー名:root
パスワード:(rootのパスワード)
rootのパスワードは初期状態ではコントロールパネルにログインする時のパスワードと同一のものが設定されています。
UTF-8対応TeraTerm Proの場合の入力例は以下のようになります。


Puttyの場合の入力例は以下のようになります。


正常に接続できると # プロンプトが表示され、root権限でコマンドを入力できる状態になります。これでログインは完了です。
[root@localhost ~]#
なお、日常的に使用する際にrootで直接ログインすることはセキュリティ上好ましくありません。 通常は個人用のユーザーアカウン
トでログインするようにして、必要な時だけroot権限を使用することをお勧めします。
ユーザーアカウントでログインしている時にroot権限を使用するには、以下のコマンドを使用します。 コマンドを入力するとパスワードの入力を求めるプロンプトが表示されますので、
rootのパスワードを入力してください。 正常にroot権限に切り替わると、コマンド入力欄のプロンプトが「$」から「#」に切り替わります。
[user@localhost ~]$ su - Password: (rootのパスワードを入力) [root@localhost ~]#
オンラインマニュアル内の「rootでログインして下さい」という説明が記載されている箇所は ユーザーアカウントでログインして上記のコマンドにより root権限を使用する方法でも同様に設定を行うことが出来ます。
使用後にログアウトして接続を切断する場合は以下のコマンドを入力して下さい。
[root@localhost ~]# logout
アクセス制限
初期状態ではrootで直接ログインすることが可能になっています。 SSHはサーバーの内容を直接操作することが可能なため、 このままの状態で継続的に使用し続けるすることはセキュリティ上危険があります。
ここではサーバへの不正アクセスを防ぐために効果的なアクセス制限の方法についてご案内致します。 必ず行わなければならないものではありませんが、 危険性を小さくするためにこれらの制限設定を行っておくことをお勧め致します。
[ 管理者アカウントでの直接ログインを禁止する設定 ]
管理者アカウントでSSHでログインできる状態になっていると辞書攻撃(よく使われそうなパスワードを使って不正侵入を試みる方法)や 総当たり攻撃 (手当たり次第にさまざまなパスワードを使って不正侵入を試みる方法)によって第三者によって管理者権限を不正に取得される危険があります。
この危険性に対処するため、管理者アカウント(root)を使ってSSHでログインすることを禁止する設定を行うことが出来ます。 設定の手順は以下の通りです。
もしユーザーアカウントを作っていない状態でこの設定を行い、 ログインすることが出来なくなってしまった場合はコントロールパネルの「再インストール」メニューにある「sshdの再インストー ル/起動」から設定ファイルの初期化を実施し、さらに「sshdの起動」ボタンを押しsshdを再起動して下さい。
- サーバーにSSHで接続し、rootアカウントを使用してログインします。
-
viなどのテキストエディタで /etc/ssh/sshd_config ファイルを開いて下さい。 viで /etc/ssh/sshd_config ファイルを開くコマンドは以下の通りです。
[root@localhost ~]# vi /etc/ssh/sshd_config
「#PermitRootLogin yes」と書いてある行がありますので、この行の行頭にある「#」を削除し「yes」を「no」に書き換えて下さい。
PermitRootLogin no (←行頭にある # を削除)
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
-
以下のコマンドを実行し、設定した内容を有効にしてください
[root@localhost ~]# service sshd reload
[ アクセス元を制限する設定 ]
初期状態でアクセス元を制限する設定が行われていますので通常は特に手動で設定を行う必要はありませんが、 任意のアクセス元からのアクセスを許可する設定を追加したい 場合は以下の手順に沿ってアクセス元の追加登録を行って下さい。 設定の手順は以下の通りです。
もしこの設定を行ったあとにログインすることが出来なくなってしまった場合はコントロールパネルの「初期設定」メニューにある「sshdのアクセス制限」から 初期設定を行って下さい。設定した接続元のIPアドレスからSSHでアクセスすることが出来るようになります。
それでも問題が解決しない場合は、「再インストール」メニューにある「sshdの再インストール/起動」から設定ファイルの初期化を実施した上で再度初期設定を行ってください。
- サーバーにSSHで接続し、rootアカウントを使用してログインします。
-
viなどのテキストエディタで /etc/hosts.allow ファイルを開いて下さい。 viで /etc/hosts.allow ファイルを開くコマンドは以下の通りです。
[root@localhost ~]# vi /etc/hosts.allow
初期設定を行った後の状態であれば、一番上の行にコントロールパネルから設定したIPアドレスが書かれています。 「#」で始まる行はコメントになっていますので、 それ以外の行(通常はコメント行より下の行に記述します)に 「sshd : (アクセス元のIPアドレスまたはドメイン名)」という形式でアクセスを許可するアクセス元を 記述します。 許可するアクセス元はお客様がご利用になるネットワーク環境に応じて設定して下さい。
ここでは例として、以下のような条件を設定することにします。
- IPアドレス 111.111.111.111 のホストからのアクセスを許可する。
- 222.222.222 で始まるIPアドレスのホストからのアクセスを許可する。
- example.arena.ne.jp というドメイン名のホストからのアクセスを許可する。
- nttpc.co.jp で終わるドメイン名のホストからのアクセスを許可する。
この場合の hosts.allow ファイルの設定は以下のように記述します。
sshd : (初期設定時のIPアドレス)
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
sshd : 111.111.111.111
sshd : 222.222.222.
sshd : example.arena.ne.jp
sshd : .nttpc.co.jp
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
ユーザーアカウントの管理
初期状態ではユーザーアカウントは1つも作成されていません。 メールアカウントを追加したい場合など、root以外のアカウントを使用したい場合は rootで仮想専用サーバにログインして以下のコマンドを実行して下さい。
[root@localhost ~]# useradd (ユーザー名)
たとえば、「nttpc」というユーザーアカウントを作成したい場合は以下のコマンドを入力します。
[root@localhost ~]# useradd nttpc
ユーザーを追加したら、そのユーザーのパスワードも設定して下さい。 パスワードが設定されていない場合、そのユーザーはログインすることが出来ません。 パスワードの設定は以下のコマンドで行うことが出来ます。
[root@localhost ~]# passwd (ユーザー名)
たとえば、「nttpc」というアカウントのパスワードを設定したい場合は以下のコマンドを入力します。 コマンドを入力すると設定するパスワー ドを入力するプロンプトが表示されますので、 設定したいパスワードを入力してEnterを押す操作を2回繰り返してください。
[root@localhost ~]# passwd nttpc Changing password for user nttpc. New UNIX password: (設定するパスワードを入力) Retype new UNIX password: (同じパスワードをもう一度入力) passwd: all authentication tokens updated successfully.
作成したユーザーアカウントを削除したい場合は以下のコマンドを入力します。
[root@localhost ~]# userdel (ユーザー名)
たとえば、「nttpc」というアカウントを削除したい場合は以下のコマンドを入力します。
[root@localhost ~]# userdel nttpc
パスワードの変更
ログインしているアカウントのパスワードを変更する場合は以下のコマンドを入力して下さい。
[root@localhost ~]# passwd
コマンドを入力すると設定するパスワードを入力するプロンプトが表示されますので、 設定したいパスワードを入力してEnterを押す操作を2回繰り返してください。
root権限を使用している場合は以下のコマンドでユーザーアカウントのパスワードを強制的に変更することが出来ます。
[root@localhost ~]# passwd (ユーザー名)
たとえば、「nttpc」というアカウントのパスワードを変更したい場合は以下のコマンドを入力します。
[root@localhost ~]# passwd nttpc
quotaの設定
ユーザーアカウントが使用できるディスク容量やノード(ファイル・ディレクトリ)の数を制限したい場合はquotaの設定を行って下さい。 SuitePROでは以下の手順でquotaの設定を行うことが出来ます。
はじめに、rootアカウントで以下の2つのコマンドを順番に実行して下さい。
[root@localhost ~]# quotacheck -vaugfm quotacheck: Scanning /dev/hdv1 [/] quotacheck: Cannot stat old user quota file: そのようなファイルやディレクトリはありません quotacheck: Cannot stat old group quota file: そのようなファイル やディレクトリはありません quotacheck: Cannot stat old user quota file: そのようなファイル やディレクトリはありません quotacheck: Cannot stat old group quota file: そのようなファイル やディレクトリはありません done quotacheck: Checked 20931 directories and 114566 files quotacheck: Old file not found. quotacheck: Old file not found. [root@localhost ~]# quotaon -a
1番目のコマンドを実行した時にエラーメッセージのような表示が出ますが、特に問題ありません。 これでquotaを使用する準備が出来ました。
特定のアカウントに対し制限を実施する場合は以下のコマンドを実行します。
[root@localhost ~]# setquota (アカウント名) (容量 soft)
(容量 hard) (ノード soft) (ノード hard) /dev/hdv1
(アカウント名)には対象のアカウント名を記述します。
(容量 soft)と(容量 hard)にはKB(キロバイト)単位で制限容量を記述します。
(ノード soft)と(ノード hard)には制限ノード数を記述します。
例えば、「nttpc」というユーザーアカウントのディスク容量を10240KB(10MB)、 ノード数を1000に制限する場合は以下のコマンドを実行します。
[root@localhost ~]# setquota nttpc 10240 10240 1000 1000 /dev/hdv1
setquotaコマンドを実行した後、もう一度quotacheckコマンドを実行して下さい。
[root@localhost ~]# quotacheck -vaugfm