シャープのPC-Z1でアマゾンのEC2サーバーにアクセスできるようになって、SSHを使っているのですが、SSHについて理解していたつもりがようやくちゃんとわかって来ました。いままでTelnetを使っていて、いろんなところでTelnetが使えなくなってSSHとかPuttyとか使って、パスワードで入れるので、Telnetとなんら違わない感じで使えていました。ちゃんとしたい場合は、公開鍵とか秘密鍵を作って置いたりもしてたけど、正直なにが違うのかなぁ、と思っていました。
アマゾンのEC2の場合、サーバーを作ると同時に鍵も作らなければいけないしくみで、それを使ってrootで入れるので、これじゃぁなんかかえって危なくないか、と感じていました。
以前習ったやりかただと、普通自分でサーバーを立てると、rootでroot以外のユーザーを作って、rootでのログインを禁止して、root以外のユーザーで常にアクセスするようにするけど、これはTelnet時代の考え方で、アマゾンのはまずはsshありきで鍵がなければ入れないのでかえって安全なんですね。
今、sshd_configを見たら
PasswordAuthentication no
となっていてパスワードでは入れないようになっていました。
ネットでだれかrootに単純なパスワードを設定して乗っ取られたようなことを書いている記事をみたけど、この設定までいじって入れるようにしたのだと思う。それはいかんと思いました。
ちなみに、sshd_cofigのありかは、findで探しました。
find / -name 'sshd_config'
編集の必要はなかったけれど、エディターはviとnanoが使えました。emacsはなかった。
マシンイメージは下記のものを使っています。
Ruby on Rails Web Starter (AMI Id: ami-22b0534b) Fedora Core 8, 32-bit architecture, Ruby 1.8.6, Rails 2.2.2, RubyGems 1.3.1, Mongrel 1.1.5, and MySQL 5.0.45
以上