使用しない仮想コンソールを停止する
使用しない仮想コンソールを停止する。
sudo vi /etc/inittab # Note that on most Debian systems tty7 is used by the X Window System, # so if you want to add more getty's go ahead but skip tty7 if you run X. # 1:2345:respawn:/sbin/getty 38400 tty1 #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6 :wq
debian wheezy に nginx をインストールする
最新のパッケージをインストールするため、apt のソースリストに dotdeb を追加し、debian wheezy に nginx をインストールする。
sudo vi /etc/apt/sources.list # dotdeb.org deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all :wq
認証用のカギを取得し、登録する。
su - cd /tmp wget http://www.dotdeb.org/dotdeb.gpg cat dotdeb.gpg | apt-key add - exit
nginx のインストール。
sudo apt-get update sudo apt-get upgrade sudo apt-get install nginx
VMware Player 3.1.6 上の debian wheezy の IP を調べて Windows の hosts ファイルに追記する。hosts ファイルは C:\WINDOWS\system32\drivers\etc にある。Windows8 でメモ帳を使って編集する場合、管理者で実行する必要がある。
sudo ifconfig
192.168.1.12 ns9.dev
アクセスできれば OK 。
ユーザー権限周りの設定
前回は ssh でルートログインを禁止したので、ユーザー権限周りの設定も済ませておく。セキュリティ上、su - よりも sudo の方が、ルートパスワードの入力をしない点で好ましい。そこで、sudo をインストールし、wheel グループにのみ sudo の利用を許可する。なお、debian のデフォルトでは wheel グループが存在しないので、グループも新規作成し、ユーザーを所属させる。
apt-get install sudo groupadd wheel usermod -G wheel hogehoge
検索すると wheel のグループID(gid)を 11 と指定している例がある。他方で Debian のマニュアルには以下のようにあり、プロジェクトやシステムという言葉の射程がわかりにくいものの、0-99 の gid 使わない方がいいようにも思える・・・。私は gid を指定せずにグループを作成した。
0-99:
Debian プロジェクトで共通に割り当てられ、すべての Debian システムで同じ目的のために使われるものです。これらの ID はすべての Debian システムの passwd と group に現れ、base-passwd 更新の際にこの範囲にある ID は自動的に追加されます。静的に割り当てられた uid や gid が必要なパッケージはこの範囲の ID を使わなければなりません。当該パッケージのメンテナは ID を base-passwd のメンテナに割り当ててもらう必要があります。
Debian ポリシーマニュアル 9.2.2
グループが作成でき、ユーザーを所属させられたか、確認する。
cat /etc/group | grep wheel
デフォルトのエディタを nano から vi に変更した後、wheel グループにのみ sudo を許可する。
update-alternatives --config editor 2 visudo #Allow members of group sudo to execute any command #%sudo ALL=(ALL:ALL)ALL %wheel ALL=(ALL:ALL)ALL :wq reboot
su - が使えるのも wheel グループのみにする。
sudo vi /etc/pam.d/su auth required pam_wheel.so :wq
wheel グループに所属させたユーザーのみが sudo 及び su - を使用できるようになった。冒頭に述べた理由から、出来る限り sudo を利用する。
debian wheezy への ssh サーバーのインストールと公開鍵認証の設定等
VPS の実際では SSH もインストール済みかもしれない。しかし、今回は最小構成でインストールしたため、SSH サーバーのインストールから始める。
apt-get install openssh-server
SSH サーバーが起動しているか確認する。
service ssh status
SSH サーバーの設定ファイルをバックアップする。その後、ポート番号を変更し、ルートでログインできないようにする。公開鍵認証を設定する準備もする。なお、今後は debian squeeze のインストール過程で作成した一般ユーザーでログインする。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.origin vi /etc/ssh/sshd_config Port 38761 PermitRootLogin no AuthorizedKeysFile %h/.ssh/authorized_keys :wq service ssh restart
今回はホスト OS にスペック的な余裕がないので、SSH クライアントは軽快な puttyjp を採用する。puttyjp の接続先 IP を調べる。
ifconfig
puttyjp から公開鍵認証を使いたいユーザでログインする。文字化けする場合は設定の変更の「変換」から文字コードを変更する。私の場合は UTF-8 で文字化けせずに表示できた。
公開鍵認証の設定をする。puttygen を起動し、公開鍵と秘密鍵を作成する。公開鍵をホスト OS とゲスト OS の共有フォルダにおき、公開鍵を登録する。
cp /mnt/hgfs/shared/local_key.pub ~ ssh-keygen -i -f ~/local_key.pub > ~/local_keygen.pub mkdir $HOME/.ssh cat ~/local_keygen.pub >> $HOME/.ssh/authorized_keys chmod 600 $HOME/.ssh/authorized_keys rm ~/local_key.pub ~/local_keygen.pub
公開鍵認証の設定には『@IT:鍵交換方式のsshでアクセスするには』が参考になった。
puttyjp の設定を変更して、公開鍵認証を利用したログインにする。ログインできたらパスワードを使ったログインを禁止する。
vi /etc/ssh/sshd_config PasswordAuthentication no :wq service ssh restart