既知のホストファイルパラメータ
既知のホストファイル (/etc/ssh/ssh_known_hosts および $HOME/.ssh/known_hosts) には、すべてのホストの公開鍵が含まれています。この公開鍵は、クライアントが Secure Shell を使用してホストと通信するときに使用されます。GlobalKnownHostsFile キーワードには、/etc/ssh/ssh_known_hosts の代替ファイルを指定します。UserKnownHostsFile キーワードには、$HOME/.ssh/known_hosts の代替ファイルを指定します。
StrictHostKeyChecking キーワードを指定した場合は、新しいホストを既知のホストファイルに追加するときは手動で行う必要があります。また、公開鍵が変更されたり、公開鍵が既知のホストファイルに存在しないホストは拒否されます。キーワード CheckHostIP を指定すると、DNS のスプーフィングによって鍵が変更された場合に、既知のホストファイルに指定されているホストの IP アドレスが確認されます。
クライアント側の X11 転送とポート転送パラメータ
LocalForward キーワードには、リモートホスト上の特定のポートに転送するローカル TCP/IP ポートを指定します。セキュリティ保護されたチャネルが使用されます。GatewayPorts キーワードを指定すると、ローカル転送されたポートにリモートホストが接続することを可能にします。
ssh コマンドでポート転送するときは、次のオプションを使用できます。
ForwardX11 キーワードを指定すると、 DISPLAY 環境変数が設定されたリモートホストに X11 接続がリダイレクトされます。XAuthLocation キーワードには、xauth プログラムの場所を指定します。
クライアント側の接続とその他のパラメータ
NumberOfPasswordPrompts キーワードには、パスワードを要求する回数を指定します。指定した回数が終了すると、Secure Shell が終了します。ConnectionAttempts キーワードには、接続試行回数 (1 秒間に 1 回試行) を指定します。この回数が終了すると、Secure Shell が終了します。ただし、FallBackToRsh キーワードが設定されている場合は、rsh に戻ります。
Compression キーワードを指定すると、転送データが圧縮されます。CompressionLevel キーワードには、圧縮レベル (1 - 9) を設定します。圧縮率とそれを行う時間にはトレードオフの関係があります。
User には、代替ユーザー名を指定します。Hostname には、リモートホストの代替名を指定します。ProxyCommand には、Secure Shell を起動する代替コマンド名を指定します。プロキシサーバーに接続できるコマンドはすべてここに指定できます。指定するコマンドは、標準入力から読み込んで標準出力に書き込む必要があります。
Batchmode を指定すると、パスワードプロンプトが無効になります。パスワードプロンプトは、スクリプトなどのバッチジョブに使用します。
KeepAlive を指定すると、ホストがクラッシュしたときに、ネットワークの問題が発生したことを示すメッセージが出力されます。LogLevel には、ssh メッセージの冗長レベルを設定します。
EscapeChar には、特殊文字をプレーンテキストとして表示するときに、接頭辞として使用する単一文字を定義します。
Secure Shell サーバーの構成
サーバー側の Secure Shell セッションの特性は、/etc/ssh/sshd_config ファイルによって管理されます。このファイルは、システム管理者が設定します。
サーバー側の認証パラメータ
DSAAuthentication
PasswordAuthentication
RhostsAuthentication
RhostsRSAAuthentication
RSAAuthentication
HostKey および HostDSAKey には、デフォルトのファイル名を使用しないときに、ホスト公開鍵を格納するファイルを指定します。KeyRegenerationInterval には、サーバー鍵を再生成する頻度を指定します。
Protocol には、バージョンを指定します。Ciphers には、v2 の暗号化アルゴリズムを定義します。ServerKeyBits には、サーバーの鍵のビット数を定義します。
ポートと転送パラメータ
AllowTCPForwarding には、TCP 転送を許可するかどうかを指定します。
GatewayPorts を指定すると、クライアントに転送されたポートにリモートホストが接続されます。Port には、sshd が待機するポート番号を指定します。ListenAddress には、sshd が待機するローカルアドレスを指定します。ListenAddress を指定しない場合、 sshd はデフォルトですべてのアドレスで待機します。
X11Forwarding を指定すると、X11 転送が有効になります。X11DisplayOffset には、転送に使用できる最初の表示番号を指定します。このキーワードを指定すると、sshd が実際の X11 サーバーに干渉しなくなります。XAuthLocation には、 xauth プログラムの場所を指定します。
セッション制御パラメータ
KeepAlive を指定すると、接続が切断したときおよびホストがクラッシュしたときに、メッセージが表示されます。LogLevel には、sshd メッセージの冗長レベルを設定します。SyslogFacility には、ログに記録する sshd メッセージの機能コードを指定します。
サーバー接続とその他のパラメータ
AllowGroups、AllowUsers、DenyGroups、および DenyUsers キーワードを使用して、ssh を使用できるユーザーと使用できないユーザーを制御します。
LoginGraceTime、MaxStartups、PermitRootLogin、および PermitEmptyPasswords キーワードを使用して、ログインするユーザーを制御します。StrictModes を指定すると、sshd は、ユーザーがログインする前にファイルのモードと所有権およびホームディレクトリを確認します。UseLogin には、対話型ログインセッションで login を使用するかどうかを指定します。このキーワードは有効にする必要はありません。Solaris 環境ではできるだけ使用しないでください。
Subsystem を指定すると、sftp に使用するファイル転送デーモンが構成されます。
サイト全体で既知のホストを管理する
ホスト間の対話を安全に行うには、ローカルホストの /etc/ssh/ssh_known_hosts ファイルにサーバーの公開鍵を格納する必要があります。 /etc/ssh/ssh_known_hosts ファイルを更新するときに、スクリプトを使用すると簡単に行うことができますが、セキュリティが大幅に低下するため、できるだけ使用しないでください。
/etc/ssh/ssh_known_hosts ファイルを配布するときは、次のようなセキュリテイ保護されたメカニズムで行う必要があります。
Secure Shell、IPsec、または Kerberos を使用した ftp などのセキュリティ保護された接続を使用して、既知の信頼できるマシンから配布する
システムインストール時に配布する
known_hosts ファイルに偽の公開鍵を挿入してアクセス権を取得しようとする侵入者をできる限り阻止するには、 ssh_known_hosts ファイルの既知の信頼できるソースとして、JumpStart サーバーを使用します。ssh_known_hosts ファイルは、インストール中に配布できるほか、各ホストで定期的にスクリプト (scp を使用して最新バージョンを取り込む) を実行して配布することもできます。この方法は、JumpStart サーバーの公開鍵がすでに各ホストに保管されているため安全です。
Secure Shell ファイル
次の表は、重要な Secure Shell ファイルと推奨される UNIX アクセス権を示します。
表 6-1 Secure Shell ファイル
次の表は、主要な Secure Shell コマンドの要約です。
表 6-2 Secure Shell コマンド



