Amazon EC2のSSH設定見直し

もう一つサーバ立てる必要が出てきたので、またメモ。
SSHの設定が不安だったので、順をおってやりたいと思います。

インスタンスの作成
Community AMIから、944964708905/rightimage_centos_6.0_i386_20110810.1_ebs
を選択しました。例によってmicroインスタンスです。
keyPairを新規作成して、ダウンロード。作成完了。

DNSの設定
ドメインが既にあるので、Route53で割り当てておきます。SSHでPublicDNS入力するの面倒なので。
EIPで固定IPを取得、インスタンスに割当、Route53でAレコードにセット。カンターン♪

SSH設定
Connecting to Your Linux Instance from Windows Using PuTTY - Amazon Elastic Compute Cloud
ここがAWSの公式なので、これの通りです。
これだとパスフレーズを設定しないようなので、設定します。
Noteによると、人が介入するので、自動化を考えるとよくないよゆーう事でしょうか。
まぁ考え方次第ですね。
作成されたPPKで、sshログイン、パスフレーズが求められるので、設定したパスフレーズでログイン。OK。

SSHのセキュリティ設定に関しては、ある程度やる事が決まっているようなので、
前回サボって、書きませんでしたが、
さくらのVPSですが、myfinder's blog: さくらのVPSを借りたら真っ先にやるべきssh設定
を参考にさせて頂きました。独自に足りない部分は、適時補っていきたいと思います。
・ユーザの作成とWheelへの参加

# useradd hoge
# passwd hoge
# usermod -g wheel hoge

・sudoの変更

# visudo  
%wheel  ALL=(ALL)       ALL  

wheelのコメントアウト解除を最後にやると、
後述のsshd_configで、PermitRootLogin noを設定した後、うっかりターミナル閉じると、
rootログイン出来なくなりますので、はじめに設定しておいたほうがよいかと。
また、root制限、公開鍵認証でやることが変わってくると思います。
root制限は、こちら参考になります。http://d.hatena.ne.jp/little_jp/20110122/1295722211
まぁ、全部やってもいいとは思いますが。自分は、スッキリしそうなので、公開鍵認証で行きます。

・公開鍵認証に変更
クライアントから
PuttyGenで、鍵ペアを作成。ビット数は、2048。
上に表示される公開鍵を「authorized_keys.txt」という名前で保存しておく。
秘密鍵の保存ボタンで、「id_rsa.ppk」という名前で保存しておく。
サーバで

# su - hoge
$ ssh-keygen -t rsa  
$ vi ~/.ssh/authorized_keys  

ssh-keygenは、別にしなくてもいいんですが、.ssh作ってくれるので。
authorized_keysに、PuttyGenで作成した「authorized_keys.txt」の中身を貼り付けます。
パーミッションの変更

$ chmod 600 ~/.ssh/authorized_keys

sshdの変更(rootで作業。ssh_configと間違わないように!)

# vi /etc/ssh/sshd_config  
PermitRootLogin no  
PasswordAuthentication no  
UsePAM no  
# /etc/init.d/sshd restart 

ここで、作成したユーザでログイン出来るか確認します。
秘密鍵に、「id_rsa.ppk」を指定して、ログインします。
パスフレーズが要求されるので、入力してログイン出来ればOK。
また、rootでログインが出来ない事も確認します。

整理すると、
PermitRootLogin →rootでログイン出来ない
PasswordAuthentication →パスワードでのログイン出来ない
公開鍵に対する秘密鍵でしかログイン出来ない。
パスフレーズあり。
てところでしょうか。
rootになるには、公開鍵認証を通過したユーザで、

$ sudo su -

しか無いという事になっているでいいのかな・・・。

最後にパスを通しておきます。

$ cd $HOME
$ vi .bash_profile

PATH=$PATH:/sbin
PATH=$PATH:/usr/sbin
PATH=$PATH:/usr/local/sbin

参考
非常に参考になりました。
myfinder's blog: さくらのVPSを借りたら真っ先にやるべきssh設定
http://d.hatena.ne.jp/little_jp/20110123/1295804457