AWSなどの仮想マシンが誕生してからは、コンソールひとつでOSを立ち上げたり、固定IPを設定したりといった事が簡単に実現できるようになりました。
しかしここで、昔のように自力でマシンにLinuxをインストールして、ゼロから構築しなければならなくなった場合の事を考え、いま一度自力での設定方法を備忘&勉強がてら記してみようと思います。
第4回 リモートからパスワード認証でsshアクセス
sshでリモートアクセスする場合の認証方法は大きく分けて3つあります。
- パスワード認証
- 秘密鍵・公開鍵での認証
- その両方
まずはパスワード認証ですが、コンソールからホスト名とユーザID・パスワードを入力するとログインできます。
但し、最低でも以下の設定だけはセキュリティ上行っておきます。
- rootによるログイン禁止
- 接続元IP制限
rootによるログイン禁止設定ですが、/etc/ssh/sshd_config内で
PermitRootLogin yes
↓
PermitRootLogin no
に設定し、sshdの再起動
# /etc/init.d/sshd restart
実際にrootでログイン出来なくなっているかを確認します。
次に接続元IPアドレスを制限する設定ですが、以下の2ファイルを使用します。
/etc/hosts.deny /etc/hosts.allow
それぞれ拒否するIPリスト、許可するIPリストを記述するファイルです。
基本的にはhosts.denyで全てのIPを拒否してから、hosts.allowで許可したいIPだけを記述するのが望ましいです。
# vi /etc/hosts.deny sshd : ALL # vi /etc/hosts.allow sshd : [許可するIPアドレス]
設定を変更すると直ちに設定内容が反映されますが、設定を変更する前に接続されているものはdeny対象であっても接続が維持されているので、一旦sshdサービスをリスタートさせた方が良いです。
※この記事は、なかの人(piro556)が書いています。