Solaris Secure Shell では、デフォルトでは、ホストに基づく認証と両方のプロトコルの使用は無効になっています。これらのデフォルトを変更するには、管理者の介入が必要です。また、ポート転送が機能するようにするためにも、管理者の介入が必要です。
次の手順によって公開鍵システムが設定され、クライアントの公開鍵がサーバー上での認証に使用できるようになります。また、ユーザーは、公開鍵と非公開鍵のペアを作成する必要があります。
この手順での「クライアント」および「ローカルホスト」という用語は、ユーザーが ssh コマンドを入力するマシンを指しています。「サーバー」および「リモートホスト」という用語は、クライアントがアクセスを試みるマシンを指しています。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
クライアントで、ホストに基づく認証を有効にします。
クライアントの構成ファイル /etc/ssh/ssh_config で、次のエントリを入力します。
HostbasedAuthentication yes |
このファイルの構文については、ssh_config(4) のマニュアルページを参照してください。
サーバーで、ホストに基づく認証を有効にします。
サーバーの構成ファイル /etc/ssh/ssh_config で、同じエントリを入力します。
HostbasedAuthentication yes |
このファイルの構文については、sshd_config(4) のマニュアルページを参照してください。
サーバーで、クライアントが信頼されるホストとして認識されるようにするファイルを構成します。
詳細については、sshd(1M) のマニュアルページの「FILES」のセクションを参照してください。
サーバーで、sshdデーモンが信頼されるホストのリストにアクセスできるようにします。
/etc/ssh/sshd_config ファイルで、IgnoreRhosts を no に設定します。
## sshd_config IgnoreRhosts no |
使用するサイトの Solaris Secure Shell のユーザーが両方のホストでアカウントを持つようにします。
クライアントの公開鍵をサーバー上に置くために、次のどちらかを行います。
サーバー上の sshd_config ファイルを変更後、クライアントの公開ホスト鍵を ~/.ssh/known_hosts ファイルに追加するようにユーザーに指示します。
## sshd_config IgnoreUserKnownHosts no |
ユーザーへの指示については、「Solaris Secure Shell で使用する公開鍵と非公開鍵のペアを生成する方法」を参照してください。
クライアントの公開鍵をサーバーにコピーします。
ホスト鍵は、/etc/ssh ディレクトリに格納されます。鍵は、通常、最初のブート時に sshd デーモンによって生成されます。
サーバー上の /etc/ssh/ssh_known_hosts ファイルに鍵を追加します。
クライアントで、バックスラッシュなしで 1 行に次のコマンドを入力します。
# cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \ 'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"' |
プロンプトが表示されたら、ログインパスワードを入力します。
ファイルがコピーされると、「Host key copied」というメッセージが表示されます。
/etc/ssh/ssh_known_hosts ファイルの各行は、スペースで区切られたフィールドで構成されています。
hostnames algorithm-name publickey comment |
/etc/ssh/ssh_known_hosts ファイルを編集して、コピーしたエントリの最初のフィールドとして RemoteHost を追加します。
## /etc/ssh/ssh_known_hosts File RemoteHost <copied entry> |
次の例では、各ホストがサーバーおよびクライアントとして構成されます。一方のホストのユーザーが、他方のホストへの ssh 接続を開始できます。次の構成によって、各ホストがサーバーおよびクライアントになります。
ホストごとに、 Solaris Secure Shell 構成ファイルに次のエントリを入力します。
## /etc/ssh/ssh_config HostBasedAuthentication yes # ## /etc/ssh/sshd_config HostBasedAuthentication yes IgnoreRhosts no |
ホストごとに、shosts.equiv ファイルに他方のホストに対するエントリを入力します。
## /etc/ssh/shosts.equiv on machine2 machine1 |
## /etc/ssh/shosts.equiv on machine1 machine2 |
各ホストの公開鍵を、他方のホストの /etc/ssh/ssh_known_hosts ファイルに入力します。
## /etc/ssh/ssh_known_hosts on machine2 … machine1 |
## /etc/ssh/ssh_known_hosts on machine1 … machine2 |
ユーザーは、両方のホストにアカウントを持ちます。
## /etc/passwd on machine1 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh |
## /etc/passwd on machine2 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh |
この手順は、ホストが v1 および v2 を実行するホストと相互運用されるときに役立ちます。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
両方の Solaris Secure Shell のプロトコルを使用するホストを構成します。
/etc/ssh/sshd_config ファイルを編集します。
# Protocol 2 Protocol 2,1 |
v1 のホスト鍵用に別ファイルを指定します。
HostKey エントリを /etc/ssh/sshd_config ファイルに追加します。
HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_rsa1_key |
v1 のホスト鍵を生成します。
# ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_rsa1_key -N '' |
v1 の RSA アルゴリズムを示します
ホスト鍵を保持するファイルを示します。
パスフレーズが必要ないことを示します。
sshd デーモンを再起動します。
# svcadm restart network/ssh:default |
システムをリブートしても構いません。
ポート転送によって、ローカルポートを遠隔ホストに転送することができるようになります。指定すると、ソケットはローカル側で、そのポートを待機します。また、遠隔側のポートを指定することもできます。
Solaris Secure Shell ポート転送では TCP 接続を使用する必要があります。Solaris Secure Shell はポート転送のための UDP 接続をサポートしていません。
Primary Administrator 役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
ポート転送ができるように遠隔サーバーで Solaris Secure Shell の設定を構成します。
/etc/ssh/sshd_config ファイルで AllowTcpForwarding の値を yes に変更します。
# Port forwarding AllowTcpForwarding yes |
Solaris Secure Shell サービスを再起動します。
remoteHost# svcadm restart network/ssh:default |
永続的なサービスの管理方法については、『Solaris のシステム管理 (基本編)』の第 18 章「サービスの管理 (概要)」および svcadm(1M) のマニュアルページを参照してください。
ポート転送が使用できることを確認します。
remoteHost# /usr/bin/pgrep -lf sshd 1296 ssh -L 2001:remoteHost:23 remoteHost |