Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.3.11. SSH のセキュア化

Secure ShellSSH)は、他のシステムと安全なチャンネルで通信するために使用される強力なネットワークプロトコルです。SSH を介した送信は暗号化され、傍受から保護されます。SSHプロトコルおよびRed Hat Enterprise Linux 7でのSSHサービスの使用に関する一般的な情報については、Red Hat Enterprise Linux 7システム管理者ガイドのOpenSSHの章を参照してください。
重要
このセクションでは、SSH設定を保護するための最も一般的な方法について説明します。この提案された対策のリストは、完璧または決定的なものと見なされるべきではありません。sshdデーモンの動作を変更するために利用できるすべての構成ディレクティブの説明についてはsshd_config(5)を参照し、SSHの基本的な概念についてはssh(1)を参照してください。

4.3.11.1. 暗号化ログイン

SSH は、コンピューターにログインするための暗号化キーの使用をサポートしています。これは、パスワードのみを使用するよりもはるかに安全です。この方法を他の認証方法と組み合わせると、多要素認証と見なすことができます。複数の認証方法を使用する場合の詳細は、「複数の認証方法」 を参照してください。
認証に暗号鍵を使用できるようにするには、/etc/ssh/sshd_config ファイル内の PubkeyAuthentication 設定ディレクティブを yes に設定する必要があります。これがデフォルト設定であることに注意してください。PasswordAuthentication ディレクティブを no に設定すると、ログインにパスワードを使用する可能性を無効にすることができます。
SSH鍵は、ssh-keygenコマンドで生成できます。追加の引数なしで呼び出されると、2048 ビットの RSA キーセットが作成されます。キーは、デフォルトで ~/.ssh/ ディレクトリーに保存されます。-b スイッチを利用すると、キーのビット強度を変更できます。通常、2048 ビットのキーを使用するだけで十分です。Red Hat Enterprise Linux 7 システム管理者ガイドの Configuring OpenSSH の章には、キーペアの生成に関する詳細な情報が記載されています。
2つの鍵が~/.ssh/ディレクトリに表示されるはずです。ssh-keygenコマンドの実行時に既定値を受け入れた場合、生成されるファイルはid_rsaおよびid_rsa.pubという名前で、それぞれ秘密鍵と公開鍵が含まれています。秘密鍵は、ファイルの所有者以外には読めないようにして、常に漏洩から保護する必要があります。ただし、公開鍵は、ログインするシステムに転送する必要があります。ssh-copy-id コマンドで鍵をサーバーに転送することができます。
~]$ ssh-copy-id -i [user@]server
また、このコマンドは、公開鍵をserver上の~/.ssh/authorized_keysファイルに自動的に追加します。sshd デーモンは、サーバーにログインしようとするときにこのファイルをチェックします。
パスワードやその他の認証メカニズムと同様に、SSHキーも定期的に変更する必要があります。その際、authorized_keys ファイルから未使用のキーを削除していることを確認してください。