Hatena::ブログ(Diary)

脳無しの呟き《土鍋と麦酒と炬燵猫》(旧) RSSフィード

2010/09/26

さくらの VPS 契約から作業環境を作るまでの覚書

今月より始まったさくらインターネットの VPS サービスなのだけども、月額 980 円という値段の安さが気になっていた。評判を調べていたらそこそこ良さげだったのと、唐突にお仕事で使えそうなことに気が付いたので、昨夜衝動的に契約。というわけで、契約からベースの作業環境を作るまでの覚書。

■まずは契約

さくらインターネットは初めての契約だったので、『さくらの VPS』で申し込みを行う。いきなり本契約もできるけど、2週間の無料お試しのままで話を進める。放っておけば自動的に本契約へ移行するので、そこはスルーする。

契約が完了したら最初に申し込み受付完了を知らせるメールが来る。こちらはさくらインターネットとの契約に関する内容なので、まだ VPS は使えない事に注意する。少し時間をおいて VPS に関する仮登録完了を知らせるメールが入る。私の場合は先のメールから4分遅れて到着した。

■いきなりログインする前に

VPS には SSH で接続することになるので、ログイン用の MacBook で事前に鍵を作っておく。ターミナルを起動し、そこで作業を行う。今回は SSH Ver.2 DSA 認証用 *1 とした。鍵作成にはパスフレーズも必要なので、先にそれも決めておく。

$ ssh-keygen -d -b 1024 -C xxxxxx //xxxxxxx は適当な名称を
Generating public/private dsa key pair.
Enter file in which to save the key (~/ssh/id_dsa):  //そのまま Enter
Created directory '~/.ssh'. //鍵を格納するディレクトリが作成される
Enter passphrase (empty for no passphrase):  //パスフレーズを入力して Enter
Enter same passphrase again:  //再度パスフレーズを入力して Enter
Your identification has been saved in ~/.ssh/id_dsa.
Your public key has been saved in ~/.ssh/id_dsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx xxxxxx

id_dsa は秘密鍵なので絶対に公開しないこと。公開鍵である id_dsa.pub は VPS サーバへ転送するため、コピーしてファイル名も適当に変更する。コピーした公開鍵はデスクトップに置いた。

$ cp ~/.ssh/id_dsa.pub ~/desktop/macbook.pub

VPS の利用では root でログインできないようするため、VPS 上での作業用アカウントを用意しておく。必要なのはアカウント名とそのパスワード。また、root の仮パスワードはメールにて平文で送られてくるので、その変更用パスワードも用意しておく。『VPS ホーム』へのログイン用パスワードは、英数字のみにしておかないと弾かれるので注意する。必要な情報は事前にテキストエディタ等に書き出しておくと便利。

■VPS コントロールパネルにログインする

仮登録完了のメールに記述されている情報を元に『VPS コントロールパネル』へアクセスする。ログイン用のパスワードは平文で送られてくるため、まずはこれを変更する。なお、この仮パスワードはリモートコンソールから root でログインすることにも使用されるが、Web ページへのログインとは関連性がないので注意する。こちらではパスワードで使える文字種別が(多分)英数字だけなので、これも注意する事。

『VPS コントロールパネル』への再ログインを行ったら、次の作業に入る。

■VPS ホームとリモートコンソール

『VPS ホーム』への初めてのアクセスで確認すると、サーバは停止状態のはず。起動ボタンがあるのでそれをクリックすると、サーバは起動する。ステータスの表示が『稼働中』になったら、リモートコンソールのページへ移る。

リモートコンソールが表示されたら、root でログインする。先にも書いたが、こちらで使用するのは仮登録完了メールに記述されてた仮パスワードであることに注意。ちなみにこちらのパスワードも変更するが、最終的に root でのログインはできないようにするため、『VPS ホーム』へのログイン用と同じにするかどうかはご自由に。設定の流れでいちばん参考にしたのは『さくらのVPSを借りたら真っ先にやるべきssh設定』(myfinder's blog)です。

xxx.sakura.ne.jp login: root
Password: //メールにあった仮パスワードを入力

SAKURA Internet [Virtual Private Server SERVICE]

[root@xxx ~]# passwd root
Changing password for user root.
New UNIX password: //新しいパスワードを入力
Retype new UNIX password: //チェックのため再度入力
passwd: all authentication tokens updated successfully.

次に作業用のアカウントを作成(例では hogehoge)する。

[root@xxx ~]# useradd hogehoge
[root@xxx ~]# passwd hogehoge
Changing password for user hogehoge.
New UNIX password: //新しいパスワードを入力
Retype new UNIX password: //チェックのため再度入力
passwd: all authentication tokens updated successfully.
[root@xxx ~]#usermod -G wheel hoeghoge //root 制限用に wheel に所属させる

ssh でアクセスするための段取りを行う。作業用アカウントに切り替え、MacBook での鍵作成と同様の作業を行う *2

[root@xxx ~]# su hogehoge

[hogehoge@xxx root]$ ssh-keygen -d -b 1024 -C hogehoge
Generating public/private dsa key pair.
Enter file in which to save the key (.ssh/id_dsa):  //そのまま Enter
Created directory '.ssh'. //鍵を格納するディレクトリが作成される
Enter passphrase (empty for no passphrase):  //パスフレーズを入力して Enter
Enter same passphrase again:  //再度パスフレーズを入力して Enter
Your identification has been saved in .ssh/id_dsa.
Your public key has been saved in .ssh/id_dsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx hogehoge

[hogehoge@xxx root]$ cd ~/.ssh
[hogehoge@xxx .ssh]$ cp id_dsa.pub vps.pub

ここまでできたら FTP でお互いの公開鍵をやりとりする。私は FTP クライアント(Cyberduck)でファイルをやりとりした。VPS サーバで作成した vps.pub を MacBook へダウンロードし、MacBook で作成した macbook.pub は VPS サーバへ。その後、MacBook 側での作業に戻る。

% cat ~/desktop/vps.pub >> ~/.ssh/authorized_keys
% chmod 600 ~/.ssh/authorized_keys

リモートコンソール上でも上記と同じ作業を行う。作業ディレクトリは .ssh。

[hogehoge@xxx .ssh]$ cat macbook.pub >> authorized_keys
[hogehoge@xxx .ssh]$ chmod 600 authorized_keys

VPS サーバからログアウトし、MacBook のターミナルからアクセスできるかを確認する。初回はパスフレーズを聞かれるので、それを入力してしてログインする。ログインできたらすぐログアウトし、再度ログインを行う。ここでパスフレーズを聞かれなければ成功。

% ssh hogehoge@VPS サーバの IP アドレス //パスフレーズ入力を促される
Identity added: ~/.ssh/id_dsa (~/.ssh/id_dsa)
Last login: Sun Sep 26 xx:xx:xx 2010 from xxx.xxx.xxx.xxx

SAKURA Internet [Virtual Private Server SERVICE]

[hogehoge@xxx root]$ exit
logout

Connection to xxx.xxx.xxx.xxx closed.

% ssh hogehoge@VPS サーバの IP アドレス //そのまま VPS サーバ内へ移動するはず
Last login: Sun Sep 26 xx:xx:xx 2010 from xxx.xxx.xxx.xxx

SAKURA Internet [Virtual Private Server SERVICE]

[hogehoge@xxx root]$ 

パスワード認証を禁止して公開鍵認証でのログインだけにする。VPS サーバへ root でログインして sshd_config を以下のように修正して保存する *3

[root@xxx ~]# vi /etc/ssh/sshd_config

PermitRootLogin no //コメントアウトを外し no にする
PubkeyAuthentication yes //コメントアウトを外す
AuthorizedKeysFile     .ssh/authorized_keys //コメントアウトを外す
PasswordAuthentication no //コメントアウトを外し no にする
UsePAM no //コメントアウトを外す
#UsePAM yes //コメントアウトする

[root@xxx ~]# /etc/init.d/sshd restart

また、作業用アカウントで sudo できるように設定も行う。こちらは visudo で開く設定ファイル(/etc/sudoers.tmp)を修正する。

[root@xxx ~]# visudo

%wheel  ALL=(ALL) ALL //コメントアウトを外す

作業用アカウントで MacBook 側からターミナルへログインし、sudo できるかどうか確認する。

% ssh hogehoge@VPS サーバの IP アドレス
Last login: Sun Sep 26 xx:xx:xx 2010 from xxx.xxx.xxx.xxx

SAKURA Internet [Virtual Private Server SERVICE]

[hogehoge@xxx ~]$ su -
Password:  //root 用のパスワードを入力
[root@xxx ~]# //これで成功

ここまでできたら下準備は完了。ついでに FTP クライアント(Cyberduck)でアクセスできるようにする。新規で SFTP 接続を選択し、サーバ欄には VPS サーバの IP アドレス。ユーザ名は作業用アカウントを入力し、パスワードには何も記述しない。詳細設定を開いて『公開鍵認証を使用する』にチェック。最初のアクセスでパスフレーズを聞かれるからそれを入力すると、SFTP 接続できる。キーチェーン登録にチェックをしておくと、以後はパスフレーズを気にする事なくアクセスできる。

以上までの作業で基本的な環境設定は完了。ちなみに、参考にしたサイトの流れをそのまま鵜呑みにしてしまうと、公開鍵のやりとりで泣けることになります。リモートコンソールでは PC からのコピーペーストが使用できないので、公開鍵の部分で「ぎゃあああああ」となります *4

まだるっこしい手順かもですが、多分この流れならつまずくこともないかなと。自分がおバカなせいで、この記事を書くのに3回も OS の再インストールボタンをクリックしてしまった……。

以上になりますが、次は bash から zsh への切り替えかな。それが終わってから実際にやってみたいことの諸々な作業に入る予定なのであります。

*1:『Configuration of SSH clientThe World in PowerBook - MacOS X』(Mac ではどうする ?!)を参考にした。

*2:2010/09/28 追記:こちらは VPS 側から固定 IP アドレスを持った MacBook 側へアクセスできるようにするために行った作業なので、MacBook 側からのアクセスだけであれば必要なし。

*3:『さくらVPSのsshによる鍵認証の設定』(STUDIO KINGDOM)も参考にしました。

*4:公開鍵認証の設定をする前に FTP でファイルをやりとりするにはパスワードでのログインを殺してはいけない……最初に気が付かなかった(バカ)。

Connection: close