SlicehostのUbuntu Hardy Heron Slicesを見ながら作業を進めていく。
■Ubuntu Hardy setup - page 1
□ログイン
sshでログインする。
ssh root@slicehostのIPアドレス
必要に応じてknown_hostsを編集する。
今回はWindows +PuTTYなので、PuTTYでの接続時に保存されるので省略。
□ユーザー管理
rootパスワードの変更。
passwd
Enter new UNIX password 新しいパスワードを入力
Retype new UNIX password 新しいパスワードを入力
Enter new UNIX password 新しいパスワードを入力
Retype new UNIX password 新しいパスワードを入力
作業用ユーザー(demo)を追加
adduser demo
demoユーザーに権限を与える。
visudo
demo ALL=(ALL) ALL
demo ALL=(ALL) ALL
□SSHキー作成
今回はWindows + PuTTYなので、下記を参考に公開鍵、秘密鍵を作成する。
PuTTYで公開鍵を使用してSSH認証する
□SSH公開鍵のコピー
scp ~/.ssh/id_rsa.pub demo@SlicehostのIP:/home/demo/
※Windows + Puttyだと、pscp 〜となる。
PuTTyは環境変数PATHに追加してパスを通しておく。
(コントロールパネル→システム→システム→環境変数→Path)
ただし、これで転送した公開鍵では認証できなかったので、後ほど修正(後述)。
□SSHディレクトリのパーミッション変更
ディレクトリ作成および公開鍵の移動
mkdir /home/demo/.ssh
mv /home/demo/id_rsa.pub /home/demo/.ssh/authorized_keys
※Windows + Puttyでのpscpコマンドで転送した鍵がうまく認証できなかったので、ここでmv /home/demo/id_rsa.pub /home/demo/.ssh/authorized_keys
sudo vi /home/demo/.ssh/authorized_keys
で、ローカルの公開鍵をコピーして保存した。逆に、Macの場合は同じようにコピーでは認証されず、scpコマンドでコピーしたらうまくいった。
パーミッション変更
chown -R demo:demo /home/demo/.ssh
chmod 700 /home/demo/.ssh
chmod 600 /home/demo/.ssh/authorized_keys
chmod 700 /home/demo/.ssh
chmod 600 /home/demo/.ssh/authorized_keys
□SSH configの変更
vi /etc/ssh/sshd_config
編集内容の抜粋
ServerKeyBits 1024
Port 30000
Protocol 2
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
UsePAM no
UseDNS no
AllowUsers demo
Port 30000
Protocol 2
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
UsePAM no
UseDNS no
AllowUsers demo
□iptablesの設定
これは公式チュートリアルのままに。
iptables-save > /etc/iptables.up.rules
iptables -L
で確認するとChain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
となっている。target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
vi /etc/iptables.test.rules
でファイルを作成して設定例を参考に書き加える。*filter
# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allows all outbound traffic
# You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allows SSH connections
#
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
#
-A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT
# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Reject all other inbound - default deny unless explicitly allowed policy
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
変更を適用。# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allows all outbound traffic
# You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allows SSH connections
#
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
#
-A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT
# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Reject all other inbound - default deny unless explicitly allowed policy
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
iptables-restore < /etc/iptables.test.rules
反映されているか確認iptables -L
保存する。iptables-save > /etc/iptables.up.rules
/etc/network/interfacesを変更
vi /etc/network/interfaces
1行書き加える...
auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/iptables.up.rules
# The primary network interface
...
auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/iptables.up.rules
# The primary network interface
...
□再ログイン
SSHのリロード
/etc/init.d/ssh reload
以降パスワード無しの認証の解説があるが、省略。page2
□.bashrcを編集
ターミナルでサーバー名などのカラーリングを有効に
vi ~/.bashrc
export PS1='\[\033[0;35m\]\h\[\033[0;33m\] \w\[\033[00m\]: '
export PS1='\[\033[0;35m\]\h\[\033[0;33m\] \w\[\033[00m\]: '
日本語ロケールを設定するために
slicehostでUbuntu8.04の設定2 日本語ロケール設定 - delabを参考にロケールを設定。
パッケージのアップデート
sudo aptitude update
タイムゾーン設定
sudo dpkg-reconfigure tzdata
表示される画面でAsia→Tokyoを選択date
で現在の日本時間が表示されればOK。sudo apt-get install language-pack-ja #日本語パッケージインストール
sudo dpkg-reconfigure locales #ロケールのインストール
sudo update-locale LANG=ja_JP.UTF-8 #日本語ロケール設定
sudo dpkg-reconfigure locales #ロケールのインストール
sudo update-locale LANG=ja_JP.UTF-8 #日本語ロケール設定
ログアウトして
locale
で確認するも、変更されない。rootになると
$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
となって、ロケールが変更されているのだが。LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
最後にアップグレード3連発
sudo aptitude safe-upgrade
sudo aptitude full-upgrade
sudo aptitude install build-essential
sudo aptitude full-upgrade
sudo aptitude install build-essential
Slicehostのサインアップ

Ubuntuで作るLinuxサーバー (日経BPパソコンベストムック)
- 作者:
- 出版社/メーカー: 日経BP出版センター
- 発売日: 2008/12/12
- メディア: 大型本
【関連エントリー】
