Red Hat Training

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

3.2.2. SSH (Secure Shell)

Secure Shell (SSH) は、セキュアなチャネル上で別のシステムと通信するために使用される強力なネットワークプロトコルです。SSH 上の送信は暗号化され、傍受から保護されます。暗号化ログインを使用して、従来のユーザー名とパスワードよりも優れた認証方法を提供することもできます。「暗号化ログイン」 を参照してください。
SSH のアクティベーションはとても簡単です。sshd デーモンを開始すると、システムは接続の受け付けを開始し、接続プロセス時に正しいユーザー名とパスワードが指定されると、システムへのアクセスが許可されます。SSH サービスの標準的な TCP ポートは 22 ですが、設定ファイル /etc/ssh/sshd_config を修正してサービスを再起動すると、これを変更することができます。このファイルには SSH の他の設定オプションも含まれています。
sshd サービスはデフォルトで、ブート時に自動的に開始します。デーモンのステータスを調べるには、root で以下のコマンドを実行します。
~]# service sshd status
sshd サービスを再起動するには、root で以下のコマンドを実行します。
~]# service sshd restart
システムサービスの管理に関する詳細情報は、Red Hat Enterprise Linux 6 導入ガイド の 『サービスとデーモン』 の章を参照してください。
Secure Shell (SSH) はコンピューター間に暗号化されたトンネルを提供しますが、単一ポートしか使用しません。ポート転送は SSH トンネルで実行可能で、トラフィックはこのトンネルを通過するので暗号化されます。ただし、ポート転送は、VPN (「仮想プライベートネットワーク (VPN)」) ほど流動的ではありません。

3.2.2.1. 暗号化ログイン

SSH は、コンピューターにログインするための暗号化鍵の使用をサポートしています。これはパスワードのみの使用よりもはるかに安全です。この方法を他の認証方法と組み合わせると、マルチファクター認証 (multifactor authentication) と見なすことができます。マルチ認証方法についての詳細は、「複数の認証方法」 を参照してください。
認証における暗号鍵の使用を有効にするには、/etc/ssh/sshd_config ファイルの PubkeyAuthentication 設定指示文を yes に設定する必要があります。これは、デフォルト設定になることに注意してください。PasswordAuthentication 指示文を no に設定すると、ログインでのパスワード使用が無効になります。
SSH 鍵は ssh-keygen コマンドを使って生成できます。引数なしでこれを実行すると、2048 ビットの RSA 鍵のセットが作成されます。デフォルトでは、この鍵は ~/.ssh ディレクトリーに保存されます。-b スイッチを使うと、鍵のビット強度を修正することができます。通常は、2048 ビット鍵で十分な強度が提供されます。SSH 鍵の生成に関する詳細情報は、Red Hat Enterprise Linux 6 導入ガイド の 『鍵ペアの生成』 の章を参照してください。
~/.ssh ディレクトリーに、2 つの鍵が見つかるはずです。ssh-keygen コマンドの実行時にデフォルトを受け入れると、生成されるファイル名は id_rsaid_rsa.pub になり、それぞれに秘密鍵と公開鍵が含まれます。秘密鍵はファイルの所有者のみが読み取り可能として、公開されないように常に保護してください。ただし公開鍵は、ログインするシステムに送信する必要があります。ssh-copy-id コマンドを使用すると、サーバーにこの鍵を移動することができます。
~]$ ssh-copy-id -i [user@]server
このコマンドは、server 上の ~/.ssh/authorized_key ファイルに自動で公開鍵を追加します。ユーザーがサーバーへのログインを試みる際には、sshd デーモンがこのファイルをチェックします。
パスワードやその他の認証メカニズムと同様に、SSH 鍵は定期的に変更する必要があります。この際、authorized_key ファイルから使用されていない鍵を必ず消去してください。