2010年9月30日木曜日

さくらのVPS Ubuntu 10.04 SSH サーバの設定

Google Developer Day 2010 から帰ってまいりました。非常に有意義なイベントでとても刺激を受けました。

さて、今日はさくらの VPS の Ubuntu に SSH サーバをインストールしてみたいと思います。

とはいえ、インストールについては簡単で、メタパッケージ ssh を
# apt-get install ssh
としてインストールするだけです。インストールが成功すると、自動的に ssh サーバが起動しますので、一旦
# service ssh stop
として、sshサービスを停止させておきます。Ubuntu の ssh サーバではデフォルトでパスワード認証を許可する設定となっていますが、ブルートフォース攻撃をかけられたり、パスワードが何らかの経路で漏れたときにVPSサーバを危険にさらしてしまいます。ブルートフォース攻撃については前回のファイヤーウォールの設定でそれなりに障壁を作っていますが、できれば、公開鍵認証を使うことにして、設定を変えておきたいところです。ssh の設定を変更するには /etc/ssh/sshd_config を編集します。
/etc/ssh/sshd_config
49 # Change to no to disable tunnelled clear text passwords
50 #PasswordAuthentication yes
51
52 # Kerberos options
53 #KerberosAuthentication no
54 #KerberosGetAFSToken no
ここでパスワード認証の設定部分である、PasswordAuthentication の部分を no と設定します。
/etc/ssh/sshd_config
49 # Change to no to disable tunnelled clear text passwords
50 #PasswordAuthentication yes
51 PasswordAuthentication no
52
53 # Kerberos options
54 #KerberosAuthentication no
55 #KerberosGetAFSToken no
この設定をすることにより、このサーバに対してはパスワードだけでの認証について受け付けない設定となりました。

さくらのVPS にログインするためには、 ~/.ssh/authorized_keys2 に公開鍵を追記 ( 存在しなければ作成 ) します。あまり意味はありませんが、今回作った公開鍵の場合には
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys2
とします。公開鍵については何らかの方法で VPS サーバに転送する必要がありますが、あくまで公開鍵ですので、一時的に適当な Web ページにアップロードして、wget コマンドで取得するのが良いでしょう( あとでファイルを消すことができて、かつ信用のおけそうなところを使うべきではありますが... )。設定が終わったら
# service ssh start
で ssh サービスを起動しましょう。あとは ssh が使えるプラットホームであれば、Winodws なり Mac なりなんでも作業端末になります。