IDCFクラウドにDebian9をインストールした時のメモ

IDCFクラウドの最も安いインスタンスにDebian 9 (Stretch)をインストールした時のメモです。
おすすめテンプレートを利用すればインストール不要で簡単ですが、今回はあえて自分でインストールしてみました。

IDCFクラウドのWebにログインして操作します。

仮想マシンの作成


1. 「西日本リージョン」→「コンピューティング」を選択して左上の「仮想マシン作成」をクリック
2. 最小のマシンタイプに「light.S1」を選択
 1CPU/1GB RAMの200円/月で、個人的に利用するNextcloudやLibreOffice onlineには十分です。
3. イメージで「ISO」をクリックして、「debian-9.0.0-amd64-DVD-1.iso」を選ぶ
4. ボリュームは12GBにしてみました。1ヶ月240円です。サイズによって価格が変わります
5. SSH Keyは以前作成したものを選択
6. 後はデフォルトで、仮想マシン名を入れるくらいです

Debian 9のインストール


1. Web画面の左側「仮想マシン」タブを選択し、「仮想マシン名」をクリックする
2. 設定メニューの[コンソール]を選択し、「コンソールにアクセス」をクリックする
3. DVDイメージからインストーラーが起動してくるので普通にグラフィカルモードでインストールしました
ややモタモタしていてストレスは感じますが、PCへのインストールと同じです
4. インストーラで、日本語を選択、パーティションはディスク全体を利用し暗号化LVMをセットアップ、1つのパーティションにを選択します
 再起動などしたときに、コンソールでLVMパスワードが必要になるので面倒だったと後で気が付きました(なぜSSHでログインできなくなったのか、しばらく思案しました)
5. インストーラで、ネットワークミラーで日本を選択。一番上を選びました
6. インストーラで、ソフトウェアの選択
 Debianデスクトップ環境、プリンタサーバをOFFにして
 SSHサーバと標準システムユーティリティのみを選択状態にします
7. インストールが終わったら、仮想マシン名をクリックして、「ISO」を選択、DVDイメージをデタッチしておきます

Debian 9の設定


まだSSHできないはずなので、コンソールアクセスでがんばります

aptの設定
/etc/apt/sources.listを編集
 dvdをコメントアウト。main以外のcontrib,non-freeを追記します。
 # apt update
# apt upgrade

基本最新でしたが、kernelがあがりました

sudoの設定
sudoパッケージをインストールして、一般ユーザにsudo権限を付与します
 # apt install sudo
# visudo


ちなみにこの段階でdf -hで確認したところ"/"は11GBのうち1.2GB程度(12%)利用していました
vimのインストール:ないと編集しずらいので
 $ sudo apt install vim


SSHログインの設定
 $ sudo vi /etc/ssh/sshd_conf

ポート番号22の行をコメントアウト外します
 どうせポートフォワードされるので、サーバでのポート番号はデフォルトのままにしています
ステータスはactiveでした。サービスを再起動します
 $ sudo service sshd status
$ sudo service sshd restart


## ポートフォワードを設定する
1. Webで、[IPアドレス]タブを選択し、IPアドレス名(「no name」でした)をクリックします
2. [ポートフォワード]を選択して、パブリックポートに適当な大きなポート番号、プライベートポートに"22"を入れて、仮想マシンを該当のものを選択して、「+」をクリックします

## ファイアウォールの設定する
1. Webで、[IPアドレス]タブを選択し、IPアドレス名をクリックします
2. [ファイアウォール]を選択して、
ソースCIDRに"0.0.0.0/0"、
タイプに"TCP"
ポートレンジにポートフォワードで設定したポート番号を入力して
「+」をクリックします
ソースを0.0.0.0/0にすると怒られましたが、公開鍵認証のみに設定するので気にせずいきます。

## ノートPCからSSHしてみる
 $ ssh -l ユーザ名 -p 設定したポート番号  IPアドレス

SSH接続時に知らないECDSA key fingerprintなので
サーバー側でフィンガープリントを確認します。md5の方のようでしたので、サーバ側で以下を実行します
 $ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub

SSHでの接続時に表示されたのと、コンソールのサーバーでの出力が同じことを確認します。

ちなみに、設定した覚えはないのですが、rootではログインできませんでした。

## sshdの設定
$ sudo vi /etc/ssh/sshd_config 
 #PubkeyAuthentication yes
 #AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
 #PasswordAuthentication yes

 PubkeyAuthentication yes
 AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
 PasswordAuthentication no
$ sudo service sshd restart

 この設定する前に鍵をコピーしたら公開鍵では入れたように見えましたが、追いかけていません。

## ローカル側sshの設定
ノートPCの~/.ssh/configに今回の設定をidcf9という名前で記述します
# IDCF deb9
Host idcf9
HostName "IPアドレス"
Port "設定したポート名"
User "ログインユーザ名"
IdentityFile ~/.ssh/id_rsa_idcf


## 公開鍵をサーバに置いて公開鍵認証でログインする
鍵は以前に作ったものを利用しました。
公開鍵をscpでサーバーへコピーします
 $ scp authorized_keys idcf9:
$ ssh idcf9
$ mkdir ~/.ssh
$ chmod 700 .ssh
$ mv authorized_keys .ssh/
$ exit

一度サーバーから抜けて試します
 $ ssh -l ユーザ名 -p ポート番号 -i ~/.ssh/id_rsa_idcf IPアドレス


#ログインした時のメッセージをかえる
どこにログインしたかわかりにくいため
IDCFのおすすめテンプレ「Debian8」のものを利用しました。
/etc/motdを編集します

マイテンプレートにする


他でも使うかもしれないと思って、この段階でテンプレートにしてみました
1. Webの左メニューで[仮想マシン]を選択して、仮想マシンを選択して停止させます
2. Webの左メニューで[ボリューム]を選択します
3. ボリューム名をクリックし、[テンプレート作成]を選択して以下のように入力して[作成する]をクリックします
 テンプレート名、説明を入力、
 OSタイプを選択(一番近いDebian 8 64bitを選択)
 パスワードリセット:有効
 ダイナミックスケール:有効
しばらく待たされます。出来ると、メニューの[テンプレート]の一覧に表示されるようになります。
テンプレートの料金はわかりにくいのですが、IDCFクラウドのWebのシミュレーションで計算させてみるとディスク容量によるようです。12GBだと360円/月のようでした。

この記事へのコメント