ServersMan@VPS(Ubuntu14.04-64)の初期セットアップ

Ubuntu14.04(64bit)に入れ替えたServersMan@VPSのvps。
徐々にセットアップしていきます。

まずはsshでログインしないと何も進みません。
しかしsshサーバ側のフィンガープリントが変わっているため、ローカルから

$ ssh -p 3843 root@<サーバ名>

でログインしようとすると

Offending RSA key in /home/ttanimu/.ssh/known_hosts:<行番号>

の表示とともにエラーとなるため、

$  vi ~/.ssh/known_hosts 

で開いたファイルの<行番号>行目を削除していきます。
最終的にフィンガープリントを受け入れる(“yes”を選択する)ことでログインできるようになります。
パスワードは初期化時に提示されたものです。

ログインするとプロンプトのホスト名が”localhost”になっていて格好悪いので

# echo <ホスト名> > /etc/hostname

を実行しておきます。多分リブート後に有効になります。
また”/etc/hosts”の各行の末尾にホスト名を追加しておきます。

常にrootで作業するのはセキュリティ的に問題なので、
普段使い用の一般ユーザを作っておきます。以下を実行します。

# groupadd <グループ名>
# useradd -m -g <グループ名> -G users -s /bin/bash -N <ユーザ名>
# passwd <ユーザ名>

ついでにrootのパスワード変更しておきます。

# passwd

作成したユーザアカウントでログインできることを確認します。
ローカルから以下を実行します。

$ ssh -p 3843 <ユーザ名>@<サーバ名>

今後はrootで直接ログインしないようにします。

インターネットに晒されているサーバへは、パスワードではなく、
電子証明書+パスコードでsshログインするのがより安全です。
ということで前回保存しておいた”id_rsa.pub”をsftpでサーバにアップロードします。

$ sftp -o port=3843 <ユーザ名>@<サーバ名>

でログインできます。
“id_rsa.pub”はホームディレクトリに置いたとして以下を実行します。

$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ mv ../id_rsa.pub authorized_keys
$ chmod 644 authorized_keys

sshでログインし直し、電子証明書+パスコードでログインできることを確認できたら、
パスワードでのログインを禁止します。
同時にrootでのログインができないようにします。
設定ファイル”/etc/ssh/sshd_config”の

PermitRootLogin yes

PermitRootLogin no

に変更し、

#PasswordAuthentication yes

PasswordAuthentication no

に変更してリブートします。

次にAirDisplay@VPSでログインできることを確認しておきます。
ウェブブラウザから

https://<サーバ名>/airdisplay/?x=30&y=12

にアクセスし、ログインできることを確認します。
このAirDisplay@VPSはウェブブラウザからコンソールにログインできる
ウェブアプリケーションで、sshの設定をしくじってログインできなくなったりだとか、
ssh秘密鍵を持っていないときにログインする必要に迫られたりという場面では
大変役には立つでしょう。
内部的にloginコマンドを叩いているようです。
ただしセキュリティ的には穴ではないにしても壁が薄くなります。
いざというときの保険にもなるので無効にするのはちょっとおしいし、
ということで後々ウェブサーバの設定でセキュリティ強化を図ることにします。

ついでにちょっと毛色が違いますがShellshockの確認です。
これはbashの脆弱性で、

$ x='() { :;}; echo kiken' bash -c 'echo test'

の実行結果に”kiken”が表示されれば脆弱性があることになります。
幸いにして表示されることはなく、既に対応されたbashのようです。
とりあえずは安心です。

最後に以前の環境でバックアップしておいた
“etc.tar.bz2″、”home.tar.bz2″、”opt.tar.bz2″、”local.tar.bz2″、”var.tar.bz2″を
sftpで送信しておきます。置き場所は”/opt/old”ぐらいがいいでしょう。
ただし一般ユーザが”/opt”を扱い易いように

# chmod 777 /opt

を実行しておく方がいいでしょう。
なお、解凍は

$ tar jxf etc.tar.bz2

などとすればいいです。