Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
6.  Secure Shell の管理 (参照) Secure Shell を構成する Secure Shell クライアントの構成 クライアント側の認証パラメータ  戻る   目次   次へ 
   
 

既知のホストファイルパラメータ

既知のホストファイル (/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 コマンドでポート転送するときは、次のオプションを使用できます。

  • -L - リモートホスト上の特定のポートに転送するローカルポートを指定する

  • -R - ローカルホストおよび特定のポートに転送するリモートポートを指定する

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 メッセージの機能コードを指定します。

サーバー接続とその他のパラメータ

AllowGroupsAllowUsersDenyGroups、および DenyUsers キーワードを使用して、ssh を使用できるユーザーと使用できないユーザーを制御します。

LoginGraceTimeMaxStartupsPermitRootLogin、および 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 ファイル

ファイル名

説明

推奨アクセス権と所有者

/etc/ssh/sshd_config

sshd (Secure Shell デーモン) の構成データを含む

-rw-r--r-- root

/etc/ssh/ssh_host_key

ホスト非公開鍵を含む

-rw------- root

/etc/ssh_host_key.pub

ホスト公開鍵を含む。ホスト鍵をローカル known_hosts ファイルにコピーするときに使用する

-rw-r--r-- root

/var/run/sshd.pid

Secure Shell デーモン sshd のプロセス ID を含む。このデーモンは接続を待機する (複数のデーモンが存在する場合は、起動された最後のデーモンを含む)

rw-r--r-- root

$HOME/.ssh/authorized_keys

v1 の場合は、ユーザーアカウントにログインするときに使用できる RSA 鍵を指定する。v2 の場合は、使用できる DSA と RSA 鍵を指定する

-rw-rw-r-- johndoe

/etc/ssh/ssh_known_hosts

すべてのホストのホスト公開鍵を含む。クライアントはこれらの公開鍵を使用して、セキュリティ保護された通信を行う。このファイルはシステム管理者が用意する

-rw-r--r-- root

$HOME/.ssh/known_hosts

すべてのホストのホスト公開鍵を含む。クライアントはこれらの公開鍵を使用して、セキュリティ保護された通信を行う。このファイルは自動的に管理される。ユーザーが未知のホストに接続すると、リモートホスト鍵がファイルに追加される

-rw-r--r-- johndoe

/etc/nologin

このファイルが存在する場合、sshdroot ログイン以外のユーザーを拒否する。ファイルの内容は、ログインしようとするユーザーに表示される

-rw-r--r-- root

$HOME/.rhosts

ホスト名とユーザー名のペアを含む。ユーザーは、対応するホストにパスワードを使用しないでログインできる。このファイルは、Secure Shell、rlogind、および rshd デーモンで使用される

-rw-r--r-- johndoe

$HOME/.shosts

ホスト名とユーザー名のペアを含む。ユーザーは、対応するホストにパスワードを使用せずに Secure Shell だけを使用してログインできる

-rw-r--r-- johndoe

/etc/hosts.equiv

.rhosts 認証と Secure Shell 認証で使用されるホストを含む

-rw-r--r-- root

/etc/ssh/shosts.equiv

Secure Shell 認証で使用されるホストを含む

-rw-r--r-- root

$HOME/.ssh/environment

ログイン時に割り当てを行う初期化に使用する

-rw------- johndoe

$HOME/.ssh/rc

ユーザーのシェルを起動前に実行する初期化ルーチン

-rw------- johndoe

/etc/ssh/sshrc

システム管理者がすべてのユーザー用に用意したホスト固有の初期化ルーチン

-rw-r--r-- root

次の表は、主要な Secure Shell コマンドの要約です。

表 6-2 Secure Shell コマンド

コマンド

説明

ssh

リモートマシンにログインし、リモートマシン上でコマンドを実行するプログラム。このコマンドは、 rloginrsh に代わるコマンドである。セキュリティ保護されていないネットワークを介して信頼できないホスト間でセキュリティ保護された暗号化通信を行うときに使用する。X11 接続と任意の TCP/IP ポートも、セキュリティ保護されたチャネルを介して転送される

sshd

Secure Shell が待機するデーモン。このデーモンは、クライアントからの接続を待機する。セキュリティ保護されていないネットワークを介して 2 つの信頼できないホスト間でセキュリティ保護された暗号化通信を行うときに使用する。

ssh-keygen

ssh の認証鍵を生成および管理する

ssh-agent

公開鍵認証時に使用される非公開鍵を格納するプログラム。ssh-agent は、X セッションまたはログインセッションの開始時に起動する。ほかのすべてのウィンドウまたはプログラムは、ssh-agent プログラムのクライアントとして起動する。環境変数を使用すれば、ユーザーが ssh を使用してほかのマシンにログインするときに、エージェントを検出して認証に自動的に使用することができる

ssh-add

RSA または DSA ID (鍵) を認証エージェント ssh-agent に追加する

scp

ssh を使用してデータ転送するときに、ネットワーク上のホスト間でファイルを安全にコピーする。rcp と異なり、scp はパスワードまたはパスフレーズを要求する (認証に必要な場合)

sftp

対話型ファイル転送プログラム。ftp と同様に、暗号化された ssh トランスポートを介してすべての操作を実行する。sftp は、指定したホスト名に接続してログインし、対話型コマンドモードに入る

 
 
 
  戻る   目次   次へ