ログインアカウントの作成からSSH鍵の設定まで(初心者がさくらのVPSを立ち上げるまで - その3)
ログイン
以下のページを参考にしながらやると良い。
ドットインストールはMac、Sakura VPS 設定マニュアルはWindows。
自分の環境はWindowsなので、TeraTermを使用する。TeraTermはパスワードの入力が毎回とてもメンドウなので、設定作業が終わるまでの間は、マクロを作ってデスクトップにでも置いておくと良い。*1テキストファイルに以下のマクロをコピー・ペーストして、必要な情報を書き込み、拡張子をttlにして保存すれば良い。あとはこのマクロファイルをダブルクリックするだけで簡単につながる(はずだ)。
TeraTerm パスワードログイン用のマクロ【再掲】
HOSTADDR = 'IPア.ドレス.を入.れる' USERNAME = 'root' PASSWORD = 'さくらから通知された初期パスワード' COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD connect COMMAND end
ひと通りの鍵認証までの作業が終わったら、このマクロは削除するか、どっか別の場所に移動させておくのが良いだろう。
OSしか入っていないとは言うものの ”万が一” があると困るので、VPSコントロールパネルからサーバーを起動させたなら、出来る限り早く最低限の壁を建ててしまうべきだ。途中で長時間の中断をする場合は、コントロールパネルからサーバーを強制停止しておこう。
yum update
yum(ヤム)は、Windowsでいえば、Windows Updateにあたる機能でアプリケーションのインストールやアップデートを行ってくれる便利ツールだ。
まず最初に、yum update でデフォルトの環境を最新の状態にする。
言語設定とユーザー作成
あとはドットインストールの動画にあるとおり、日本語化と作業用ユーザーの作成をする。
作業用ユーザーを作ったら、TeraTermのマクロも作用用ユーザー用のものを用意しておくと便利だ。
鍵認証
#06 鍵認証を設定しよう (1) | さくらのVPS入門 - プログラミングならドットインストール
ドットインストールの動画はマック用なので、鍵認証についての動画をひと通り見て概要を押さえた後、鍵認証の設定 | 初心者でもわかる!さくらVPS | Sakura VPS 設定マニュアルのページを見て全体的な流れを把握しておく。
両方共PCのツールを使って鍵を作成しているので、これをこのまま行っても良いが、VPSサーバー側の機能を使用して鍵を作ることもできる。以下がその作業手順だ。
1.先ほど作った作業用ユーザーでログイン*5
2.ユーザーのホームディレクトリへ移動しディレクトリを作る。
cd $HOME #ルートへ移動 mkdir .ssh #ディレクトリの作成 chmod 700 .ssh #権限変更
3.root権限に移り、さらに作業用ユーザーに移る*6
su - #rootアカウントのパスワード入力を求められる su 作業用ユーザー名 #作業用ユーザーに移る
これで、作業用ユーザーの上にrootが乗っかって更にその上に作業用ユーザーが乗っかった状態ができあがる。
4. 鍵の作成
以下のとおりのコマンドを打ち込む
ssh-keygen -t rsa #以下の二行が表示されるので、パスフレーズを設定する。 Created directory ‘/home/ユーザー名/.ssh’. Enter passphrase (empty for no passphrase): (パスフレーズを入力)
5.できあがった鍵のファイル名を変更する
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
6.鍵ファイルをダウンロードする。
TeraTermのメニューから、[ファイル]-[SSH SCP...] を選択し、Recieve 欄でファイルをダウンロードすることが可能だ。
鍵ファイル名とその場所は、/home/[ユーザー名]/.ssh/id_rsa だ。
使い慣れていない場合は、Filezillaなどを使用してSFTPアクセスをしてもよい。*7
SFTPクライアントによる接続をする場合は、作業用ユーザー名とそのパスワードでログインする。*8
鍵を無事に取り出せたら、サーバー上の鍵は削除しておこう。
rm /home/[ユーザー名]/.ssh/id_rsa
(注) あなたが極めて重要な機密を扱うような立場であるのなら、これらの鍵の作成は参考2サイトにあるようなローカルPCを使って行うべきだ。しかし、あなたがただの普通の人であるのならサーバーを使って鍵を作っても問題ないだろう。
厳密にセキュリティを管理するのであれば、サーバーに置いた[authorized_keys]は接続する側のあなたの公開鍵なのでウェブ上にあっても問題ないのだが、一方の秘密鍵はいかなる形であれインターネット上の通信にのせるのは非推奨とされる行為だということぐらいは知っておこう。
その他の設定ファイルの変更などについては、前出の参考2サイトの通りにやれば良い。
鍵認証によるログイン
ダウンロードした鍵を使ってTeraTermでアクセスを行う。
これもマクロに登録してしまおう。(再掲)
HOSTADDR = 'IPア.ドレス.を入.れる' USERNAME = 'ユーザー名' PASSWORD = '鍵を作成するときに入力したパスフレーズ' KEY_FILE = 'C:\(キーファイルが保存されているフォルダ)\id_rsa' PORTNUM = '自分で設定したポート番号' COMMAND = HOSTADDR strconcat COMMAND ':' strconcat COMMAND PORTNUM strconcat COMMAND ' /ssh /2 /auth=publickey /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD strconcat COMMAND ' /keyfile=' strconcat COMMAND KEY_FILE connect COMMAND end
このマクロをダブルクリックすれば、作成したログインアカウント(作業用アカウント)でアクセスできるはずだ。
余談
自分は、いまから30余年ほど前に個人向けのPC*9が発売された頃から触っているので、黒い画面に白や緑の文字がダラダラと流れるいわゆるCUIにはまだなんとか対応できるのですが、それでもついついマウスに手が伸びてしまい、この作業を始めた最初の頃は結構フラストレーションがたまりました。
それを考えると、Windows3.1以降のGUI世代には、TeraTermでログインした時点で、なんだかすごいメンドウな世界に入り込んだ感が強いだろうなと思います。頑張ってなれるしかないですよね。
ブラウザを介したGUIツールのインストールは、便利さと脆弱性とのトレードオフでもあるので*10、なるべくCUIでいろいろな事ができるようになりたいものです。
目次
一連の記事の目次は、以下のページにあります。
初心者がさくらのVPSを立ち上げるまで - その1
*1:言わずもがなだが共用PCでは、そんなことをしてはいけません。
*2:自分の場合、2回も再インストールしたのだが、最初のインストールの際にこの状態になった。
*3:プログラムなどの保管場所
*4:rpmもプログラムをレポジトリから取ってくるためのコマンドだが、最初のうちはあまり深く考えずに yum のレポジトリを拡張するとだけ思っておけば良いだろう。
*6:ルート権限を持った作業ユーザーになることで、作業ユーザーが所有者の鍵を作業ユーザーのディレクトリに保存することができるようになる
*7:ついでにサーバーのディレクトリ構造なども直感的にわかるので、このタイミングでFilezillaなどでアクセスするのは意外と良いかもしれない。
*8:そうしないと作業用ユーザーが所有者になっている鍵ファイルを取り出すことができない。
*10:phpMyAdminとか後でインストールするので説得力無いですけどね