第1部 構築編

本番運用に向けて

SSH サーバ構築

Linux に限らず、本番運用の始まった UNIX 系 OS はサーバマシン本体の場所に行って直接いじることはほとんど無い
普通は端末からリモートでログインして操作するのである。
お試しでは telnet を利用してログインしたが、本番運用に向けてよりセキュリティのしっかりしたリモートログインである SSH を利用することにする。

SSH は Secure SHell の略で、telnet ではプレーンテキストで回線を流れていた送受信データを暗号化して、セキュリティを高めたリモートアクセス方法である。
今回選択したインストールパッケージには SSH は含まれていないので、Red Hat Linux のインストールパッケージからインストールしてしまおう。

Red Hat Linux のインストール CD の 2 枚目を挿入して以下のように操作する。

mount /mnt/cdrom/
rpm -ihv /mnt/cdrom/Red Hat/ROMS/openssh-server-3.1p1-3.i386.rpm

そうすると SSH サーバのインストールが完了する。
取り敢えず CD-ROM はアンマウントしてしまおう。

umount /mnt/cdrom/

chkconfig コマンドで見てみると sshd はランレベル 3 で自動的に起動するようになっているのが確認出来る。
んが、取り敢えず今はコマンドを叩いて起動してしまおう。

/sbin/services sshd start

これで実行出来る。
Windows から SSH 対応化した Tera Term Pro で接続してみる。
取り敢えず今はユーザを作っていないので、root でリモートログインしてみたが正常にログイン出来ることを確認

しかしここでセキュリティを考えたい。
リモートで、しかも root がイキナリログイン出来るというのは避けなければならない
どうもここでログイン出来てしまったと言うことは標準設定では root のログインを許可してしまっているということらしい。
これはマズイ
と言うことで、セキュリティ強化をする。

SSH サーバの設定ファイルは /etc/ssh/sshd_config にあるので、これを vi で開いて、

#PermitRootLogin yes

と書いてある行を、

PermitRootLogin no

と書き換える。
これで root のログインを禁止した。
更に、

#PermitEmptyPasswords no

という行もあるので、これもコメントアウトを外して以下のように書き換える。

PermitEmptyPasswords no

これで、パスワード設定されていないユーザでのログインを禁止した。
この設定を有効にするため、SSH サーバを再起動する。

/sbin/services sshd restart

試しに再び root でログインしてみると、今度は認証に失敗した。
これで標準的な SSH リモートログインの設定になっただろう。

ただ、どちらにせよ一般ユーザを作らないとリモートでサーバを操作出来ない、つまりいちいちキーボードを持ち替えないといけない。
なので、手っ取り早くユーザを作って、さっさとリモート操作に切り替えよう。
と言うわけで、

adduser -g users -G wheel ********

この時“********”はユーザ名だ。
一応、本番運用に際してユーザ名を公開するのはセキュリティ低下を招くので、“********”で代用する。
パスワードは“????????”で代用するので、この日記を読みつつ Linux に挑戦している人は読み替えてほしい。

Valid HTML 4.01 Strict Valid CSS!