CentOS で公開鍵暗号方式を使用した SSH ログイン設定
はじめに
昨日の「CentOS で行なっておきたいセキュリティ設定」のエントリーは非常に反響が大きくて驚いてしまいました。みなさんの苦労がうかがえますね。
さて、前回のエントリーでは公開鍵暗号方式による SSH ログインについて割愛してしまいましたので、今回はこの設定を行いたいと思います(前回のエントリーにも反映済み)。
前回のエントリーの設定が済んでいるけれども、パスワードによるログインが有効な状態であることを前提とします。また、対象は CentOS 6.2 です。
内容は以下のようになります。
- キーペアの作成
- 秘密鍵でログインできるように設定
- 秘密鍵の取得
- Tera Term で秘密鍵を使用してログイン
- 秘密鍵でのみログインするように設定
- PuTTY で秘密鍵を使用してログイン
- WinSCP で秘密鍵を使用してログイン
キーペアの作成
root 権限を持っているユーザーを使い SSH でログイン。ここでは sshuser。
su コマンドで root ユーザーに切り替える。
# su -
その後、sshuser に切り替え。一度 root アカウントを経由してキーペアを作成するのは、実際の運用に合わせてのこと。自分のキーペアなら自分のアカウントで作成可能。
# su sshuser
以下のコマンドを実行してキーペアを作成。OpenSSH は、SSH2 の DSA と RSA が利用可能(SSH1は割愛)だが、RSA の方が強度が高いため RSA でキーペアを作成する。鍵の作成場所はデフォルトで、パスワードを2回入力。なお、あまりおすすめできないが、パスワードを入力しなければ、秘密鍵を使用したログインの際に秘密鍵のパスワードを要求されなくなる。
# ssh-keygen -t rsa
これで、ホームディレクトリ/.ssh の下に、秘密鍵(id_rsa)と公開鍵(id_rsa.pub)が作成される。
下記コマンドを実行し公開鍵を配置する。パーミッションも 600 に設定。
# mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys
秘密鍵でログインできるように設定
キーペアが作成できたら、秘密鍵でログインできるように設定。
# vim /etc/ssh/sshd_config
以下の行のコメントを外して保存。
PubkeyAuthentication yes
SSH のサービスを再起動。
# /etc/init.d/sshd restart
秘密鍵の取得
秘密鍵は本来なら USB メモリなどの物理メディアにで送付するべきだが、現実にはネットワークを介さないと取得できないことの方が多い。そのため、今回は WinSCP を利用して秘密鍵を取得する。
WinSCP を起動して「sshuser」でログインし、.ssh フォルダを開く。
id_rsa ファイルをローカルにコピーする。
Tera Term で秘密鍵を使用してログイン
Tera Term を起動しホストを指定。
ユーザー名に sshuser、パスフレーズに秘密鍵のパスワード、秘密鍵に id_rsa を指定してログイン。
ログイン成功。
秘密鍵でのみログインするように設定
秘密鍵でログインできることが確認できたら、秘密鍵でのみログインするように SSH の設定を変更する。
# vim /etc/ssh/sshd_config
パスワードでログインできないように設定して保存。
PasswordAuthentication no
SSH のサービスを再起動。
# /etc/init.d/sshd restart
PuTTY で秘密鍵を使用してログイン
PuTTYgen で PuTTY 用の秘密鍵を作成
PuTTY(ごった煮版) で秘密鍵を使用してログインするには、PuTTYgen で PuTTY 用の秘密鍵を作成する必要がある。
PuTTYgen を起動して id_rsa を読み込み、秘密鍵を id_rsa.ppk として保存する。
PuTTY で秘密鍵を使用してログイン
PuTTY を起動して、セッションメニューでホストを指定し、SSH の認証メニューで PuTTY用秘密鍵の id_rsa.ppk を指定してログインする。
コンソールが開き、ユーザー名と秘密鍵のパスワードを入力するとログイン成功。
WinSCP で秘密鍵を使用してログイン
WinSCP でログインするためには、 PuTTY 用の秘密鍵(*.ppk) が必要となる。
WinSCP を起動して、 ホスト名、ユーザー名に sshusere、秘密鍵に PuTTY 用秘密鍵の id_rsa.ppk を指定してログイン。
秘密鍵のパスワードを聞かれるので入力。
ログイン成功。
コメント