2011年5月20日金曜日

さくらのVPSを借りてUbuntuをインストールしてみた

さくらのVPSを借りてUbuntuをインストールしてみた

大まかな流れ

さくらにアカウントをつくり、VPSを借りる
借りたVPSのOSをカスタムOSインストールでUbuntuに変更する
ターミナルからログインする
カスタムOSインストールしたUbuntuのSSH周りの設定をする

さくらのVPSを借りる前に決めておくこと・用意するもの


会員パスワード
サーバーのアカウントネーム
サーバーのアカウントパスワード
sshのポート番号
公開鍵作成のパスフレーズ

パスワードは4文字以上32文字以内、半角英数字・一部記号(=+/.,-_)が使用可能


さくらのVPS仮登録完了のメールが来たら、メモしておくこと

[さくらのVPS] 仮登録完了のお知らせメールが来たら内容を確認
以下のテンプレートが埋まる

会員ID : さくらで指定 : xxx99999
会員パスワード : 自分で決める : ????????
サービスコード : さくらで指定 : メールで連絡 : zzzzzzzz

VPSのアドレス : さくらで指定 : メールで連絡 : IPアドレス nnn.nnn.nnn.nnn
VPS管理者パスワード : さくらで指定 : メールで連絡 : 初期パスワード yyyyyyyy

サーバーのアカウントネーム : 自分で決める : ????????
サーバーのアカウントパスワード : 自分で決める : !!!!!!!!

sshのポート番号 : 自分で決める : ######
公開鍵作成のパスフレーズ : 自分で決める : %%%%%%%%


さくらのVPSを起動したらすぐにやること

sshサーバにrootでのログインを許可しない
sshサーバのポート番号を変更する (例では22から10022に変更している)
sshサーバは公開鍵認証のみ許可する
ufwを使ってファイヤーウォールを設定し,sshのポートを開く




カスタムOSのUbuntu 10.04 64bitをインストール

さくらのvpsのOSをCentOSからUbuntuに変更する

以下を参考に。
SAKURA Internet // サポート - オンラインマニュアル - カスタムOSインストールガイド : Ubuntu 10.04
http://support.sakura.ad.jp/support/vps/menu_oscustom_ubuntu.shtml

VirtualBox/VMWare 上に UbuntuServerエディションをインストールした経験が有れば、だいたいわかるはず。

vncが起動するまで、ちょっと待つ

ネットマスクは255.255.254.0なので注意する
間違えると、繋がらなくなるらしい。

ネットワークの情報を入力後、画面が変わるまでちょっと待つ

ディスクの設定(ペーティション変更など)

ファイルコピー等の間ちょっと待つ

アカウント名とパスワードの設定

インストール、ちょっと待つ

再起動


クライアントで公開鍵のペアを作る


クライアントで公開鍵のペアを作る
クライアント$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/krakenbeal/.ssh/id_rsa): 
Created directory '/home/krakenbeal/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/krakenbeal/.ssh/id_rsa.
Your public key has been saved in /home/krakenbeal/.ssh/id_rsa.pub.
The key fingerprint is:
x1:x2:x3:x4:x5:x6:x7:x8:x9:x0:x1:x2:x3:x4:x5:x6
Enter passphrase と聞かれるので、何かパスフレーズを入力する

ファイルパーミッションの変更
クライアント$ chmod 700 ~/.ssh
クライアント$ chmod 600 id_rsa*



公開鍵の内容を確認
クライアント$ cat ~/.ssh/id_rsa.pub

VPSのUbuntuでsshdの設定を変更して、22番ポート以外から接続できるようにする


クライアントのターミナルから接続する
$ ssh user_name@xxxxxxxx.sakura.ne.jp -p 22

sshの設定
さくらのVPS$ sudo vi /etc/ssh/sshd_config

ポート番号を変更する
port 10022

rootでのログインを無効にしておく
PermitRootLogin no

sshd_configの設定が正しく書けているか確認する。
正しく書けていると何も出力されない
さくらのVPS$ sudo sshd -t

ssh再起動
さくらのVPS$ sudo /etc/init.d/ssh restart

サービス再起動後は念のため、ちゃんと起動しているか確認してみる。
さくらのVPS$ sudo lsof -nPi:22

新しいターミナルのタブorウィンドウを開き、接続できるか確認する
変更したポートにアクセスできるか試す
クライアント$ ssh user_name@xxxxxxxx.sakura.ne.jp -p 10022

さくらのVPS上のUbuntuでsshdの設定を変更して、公開鍵をつかってログインするようにする


"承認するクライアントの公開鍵"を保存するファイル "~/.ssh/authorized_keys" を作る

サーバーで作業
さくらのVPS$ mkdir -m 700 ~/.ssh
さくらのVPS$ touch ~/.ssh/authorized_keys

クライアントからscpでファイルを転送し、
クライアント$ scp -P 10022 ~/.ssh/id_rsa.pub user_name@xxxxxxxx.sakura.ne.jp:~/.ssh/

サーバーで、追記する
さくらのVPS$ cat id_rsa.pub >> ~/.ssh/authorized_keys

確認
さくらのVPS$ cat ~/.ssh/authorized_keys

注意
$ cat id_rsa.pub > ~/.ssh/authorized_keys
と、> がひとつしかない場合は、最後に追加された公開鍵だけ保存されるので注意する

ファイルのパーミッションを変更
$ chmod 600 ~/.ssh/authorized_keys

sshの設定を公開鍵を使用しログインする方法に変更

$ sudo vi /etc/ssh/sshd_config

#PasswordAuthentication yes
PasswordAuthentication no #パスワードでログインしない

#AuthorizedKeysFile %h/.ssh/authorized_keys
AuthorizedKeysFile %h/.ssh/authorized_keys #ログインアカウントの認証鍵ファイルの場所を指定

sshd_configの設定が正しく書けているかチェックする.何も出力されなければOK
$ sudo sshd -t

sshdを再起動する
$ sudo service ssh restart

手元のマシンの別のターミナルから公開鍵認証でsshログインできるかどうかを確認する
$ ssh -i ~/.ssh/id_rsa.pub user_name@xxxxxxxx.sakura.ne.jp -p 10022


変更したポート番号をサービスに登録する


sshのポート番号をサービスに登録する
$ sudo vi /etc/services

以下の部分を
ssh 22/tcp
ssh 22/udp

以下のように変更する
ssh 10022/tcp
ssh 10022/udp


ファイヤーウォールの設定


とりあえず全部拒否(この時点ではファイヤーウォールは起動していない)
$ sudo ufw default deny

必要なものだけ許可(この時点ではファイヤーウォールは起動していない)
$ sudo ufw allow 80
$ sudo ufw allow 12345

ファイヤーウォール有効にする(この時点でファイヤーウォールが起動する)
$ sudo ufw enable
起動するけどいいよね?と、システムから確認メッセージが出る。
やっぱりやめるなら、たしかnを押すはず。
ここで失敗するとやり直すのが面倒なので、コーヒーでも飲みながら落ち着いて確認する。

状態確認

$ sudo ufw status

日本語ロケールの設定

日本語ランゲージパックのインストール
$ sudo apt-get install language-pack-ja manpages-ja

デフォルトの locale を ja_JP.UTF-8 にする
$ sudo update-locale LANG=ja_JP.UTF-8

デフォルトのlocaleが日本に設定されたか確認
$ cat /etc/default/locale

あとで使いそうなものいれる
$ sudo apt-get install sysv-rc-conf chkconfig unzip vim screen byobu

とりあえず気をつけること


カスタムOSインストール時のネットワークの設定には気をつける
失敗したら、もう一度インストールし直せば良いので、気楽にやる。

公開鍵でアクセスするようにした場合、パスフレーズを忘れないように気をつける
忘れたら、もう一度インストールし直せば良いので、気楽にやる

パスワードを忘れないよに気をつける
仮想サーバーのパスワードを忘れても、さくらのアカウントのパスワードを忘れていなければ、もう一度インストールし直せば良いので、気楽にやる

ファイヤーウォールで許可するポート番号を間違えないように気をつける
間違えても、もう一度インストールし直せば良いので、気楽にやる

気楽にやりすぎて、さくらに迷惑をかけないように気をつける

VirtualBox/Ubuntu Server Editionで練習しておけば怖くない
VirtualBox
http://www.virtualbox.org/

Homepage | Ubuntu
http://www.ubuntu.com/

コマンドラインは怖くない。コマンドをターミナルにコピペすればいいだけだから簡単。
VirtualBox等の上で、試験した後、さくらで動かせばいい。
VirtualBox等の上でおかしな動作をしたら、ロールバックでなかったことにする。

さくらのVPS上でロールバックはできないので気をつける。


安易なアカウント名・パスワードにしないよう気をつける

Linuxサーバでは使用しない方が良いユーザアカウント | itFun.jp
http://itfun.jp/2011/04/linux.html

「使ってはいけないパスワード」トップ50が公開、1位は「123456」で2位は「password」に - GIGAZINE
http://gigazine.net/news/20101216_top50_password/

よく使われる危険なパスワードトップ500 - GIGAZINE
http://gigazine.net/news/20090105_bad_password/


参考

Ubuntuでsshdの設定をしてリモートから接続できるようにする - そ、そんなことないんだから!
http://d.hatena.ne.jp/Fiore/20080228/1204174833

Ubuntu/ufw(firewall) - TOBY SOFT wiki
http://tobysoft.net/wiki/index.php?Ubuntu%2Fufw(firewall)

(Ubuntu) iptablesフロントエンド ufw, gufw を使う (r271-635)
http://netlog.jpn.org/r271-

Firewall
https://help.ubuntu.com/10.10/serverguide/C/firewall.html635/2010/02/ubuntu_iptables_ufw_gufw.html

scpコマンドの使い方 - Linuxで自宅サーバ構築(新森からの雑記)
http://www.uetyi.mydns.jp/wordpress/command/entry-123.html

1 コメント:

awainzin さんのコメント...

このガイドはありがとうございます!マニュアルに機動した後にどうやって接続出来るかは全く書いていなかったので、本当助かります。