公開鍵認証方式を利用することに
あまりにもどこかの国からのアタックが酷いので
パスワード認証をやめて、公開鍵認証方式を利用することに。
設定の変更
/etc/ssh/sshd_config を変更し、パスワード認証を拒否し
公開鍵認証方式のみを利用ように。
ついでに、特定のユーザ(今回は hogehoge )のみが
ログイン可能となるよう設定しました。
変更後の sshd_config は以下のように
Port 22 # ポート番号 Protocol 2 # 受け付けるプロトコルバージョン # key のありか HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key # 子プロセスを root 権限で実行しない UsePrivilegeSeparation yes # ログイン許可 AllowUsers hogehoge # ←ここ書いた # ログ設定 SyslogFacility AUTH # syslog に記録する際の分類 LogLevel ERROR # ログのレベル QUIET, FATAL, ERROR, INFO, VERBOSE # 認証関連 LoginGraceTime 30 # この時間以内に認証させなければならない PermitRootLogin no # root のログイン拒否 StrictModes yes # home directory のパーミッションをチェック PubkeyAuthentication yes # 公開鍵認証方式 PasswordAuthentication no # パスワード認証を拒否 ←ここ書いた IgnoreRhosts yes # ? HostbasedAuthentication no # ? PermitEmptyPasswords no # パスワードが空なユーザは拒否 ChallengeResponseAuthentication no # チャレンジログイン拒否 X11Forwarding no # X11 ポートフォワード禁止 PrintMotd no # /etc/motd の内容をログイン時に表示しない PrintLastLog yes # 最後のログインがいつか表示 TCPKeepAlive yes # keepalive する UseLogin no # login コマンド禁止 MaxStartups 5:50:10 # 接続受付数 5 以降は 50% の確立で拒否 最大で10 まで AcceptEnv LANG LC_* # 受け付ける環境変数 (? UsePAM no # PAM インタフェースによる認証を許可しない (? # 外部サブシステムの記述 Subsystem sftp /usr/lib/openssh/sftp-server
key の生成
ログインしたい一般ユーザ(今回は hogehoge )で以下のコマンドを実行
$ ssh-keygen -t rsa -b 1024 Generating public/private rsa key pair. Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 鍵のパスワードいれる Enter same passphrase again: 鍵のパスワードを再入力
すると、~/.ssh に
ファイル名 | 役割 |
---|---|
id_rsa | 秘密鍵 |
id_rsa.pub | 公開鍵 |
が生成されました。
公開鍵の配置などなど
公開鍵である id_rsa.pub は名前を authorized_keys に変更し
本人以外読み取れないように、パーミッションを変更
$ mv id_rsa.pub authorized_keys $ chmod 600 authorized_keys
これでサーバ側の設定は終了。
秘密鍵のお持ち帰り
秘密鍵の id_rsa はクライアントで使うので
scp などで、たぶんきっと安全に持ち帰り。
クライアントは putty を利用しているので puttygen.exe
で鍵が putty で利用できる形にコンバートしました。
コンバート方法は・・・
- puttygen.exe を起動
- ファイル(F) → 秘密鍵の読込(F)
- 持ち帰った鍵を選択する
- パスワードを入力する
- 秘密鍵の保存(S) で保存する
- putty.exe を起動する
- 接続 → SSH → 認証
- 「認証のためのプライベートキーファイル(K)」で先ほどのキーを選択する
さてさて、効果のホドは?
って、アタックを減らすには効果ないので、効果は
「より侵入されるリスクを低減した」
というだけですね。