Go to main content
Oracle® Solaris 11.3 での Secure Shell アクセスの管理

印刷ビューの終了

更新: 2017 年 3 月
 
 

標準的な Secure Shell セッション

Secure Shell デーモン (sshd) は通常、ネットワークサービスが開始されるブート時にブートされます。デーモンは、SSH クライアントからの接続を待機します。Secure Shell セッションは、sshscp、または sftp コマンドが実行されると開始します。接続を受信するたびに、新しい sshd デーモンがフォークされます。フォークされたデーモンは、鍵の交換、暗号化、認証、コマンドの実行、およびクライアントとのデータ交換を行います。Secure Shell セッションの特性は、クライアント構成ファイルとサーバー構成ファイルによって決定されます。コマンド行引数は、構成ファイルの設定をオーバーライドできます。

SSH クライアントおよびサーバーは、相互に認証する必要があります。認証に成功したあと、ユーザーはコマンドをリモートで実行でき、システム間でデータをコピーできます。

Secure Shell でのセッションの特性

Secure Shell サーバー側の sshd デーモンの動作は、/etc/ssh/sshd_config ファイルのキーワードを設定することで変更できます。たとえば、sshd_config ファイルにより、サーバーにアクセスするときに使用する認証タイプを変更できます。サーバー側の動作は、sshd デーモンを起動するときに、コマンド行オプションによって変更することもできます。

    クライアント側の動作は、Secure Shell のキーワードで変更できます。キーワードの優先順位は次のとおりです。

  • コマンド行オプション

  • ユーザーの構成ファイル (~/.ssh/config)

  • システム全体の構成ファイル (/etc/ssh/ssh_config)

たとえば、ユーザーはコマンド行を使用して aes128-ctr を優先するシステム全体の構成 Ciphers の設定をオーバーライドできます。

$ ssh -c aes256-ctr,aes128-ctr,arcfour

これで、最初の暗号化方式 aes256-ctr が優先されるようになります。

Secure Shell での認証と鍵の交換

Secure Shell プロトコルは、SSH クライアントユーザー/ホストの認証、およびサーバーホストの認証をサポートしています。Secure Shell セッションを保護するために、暗号化鍵が交換されます。Secure Shell は、認証と鍵交換のためのさまざまな方法を提供します。その中には、任意のものもあります。クライアント認証メカニズムは、表 1に示されています。サーバーは、既知のホスト公開鍵を使用して認証されます。

認証については、Secure Shell はユーザー認証と、通常はパスワードを必要とする汎用対話型認証をサポートしています。Secure Shell はまた、ユーザー公開鍵と信頼できるホスト公開鍵による認証もサポートしています。鍵は、RSA の場合と DSA の場合があります。セッション鍵の交換は、サーバー認証手順で署名される Diffie-Hellman 短期鍵の交換で構成されます。さらに、Secure Shell は認証に GSS 資格を使用することもできます。

Secure Shell での GSS 資格の取得

Secure Shell で GSS-API 認証を使用するには、サーバーが GSS-API アダプタの資格を持ち、クライアントが GSS-API のイニシエータの資格を持つ必要があります。mech_krb5 のサポートを使用できます。

mech_krb5 では、サーバーは、サーバーに対応するホスト主体が /etc/krb5/krb5.keytab で有効なエントリを持つと、GSS-API アダプタの資格を持ちます。

    クライアントは、次のどちらかによって、mech_krb5 に対するイニシエータの資格を持ちます。

  • kinit コマンドが実行された。

  • pam_krb5 モジュールが pam.conf ファイルで使用されている。

GSS-API および Kerberos については、Oracle Solaris 11.3 での Kerberos およびその他の認証サービスの管理 の Kerberos ユーティリティーを参照してください。メカニズムの詳細は、mech(4) および mech_spnego(5) のマニュアルページを参照してください。

Secure Shell でのコマンドの実行とデータの転送

認証が完了すると、ユーザーは通常、シェルまたはコマンド実行を要求して Secure Shell を使用します。ユーザーは、ssh のオプションを使用して、要求を行うことができます。要求には、擬似端末の配置、X11 または TCP/IP の接続の転送、セキュリティー保護された接続上での ssh-agent 認証プログラムの有効化などがあります。

    ユーザーセッションの基本手順は次のとおりです。

  1. ユーザーがシェルまたはコマンドの実行を要求し、セッションモードを開始します。

    セッションモードでは、SSH クライアント側では、データは端末を通して送受信されます。また、サーバー側ではシェルまたはコマンドを介して送受信されます。

  2. データの転送が完了すると、ユーザープログラムは終了します。

  3. 既存の接続を除いて、すべての X11 接続と TCP/IP 接続の転送を停止します。既存の X11 接続と TCP/IP 接続は、開いたままです。

  4. SSH サーバーは、終了ステータスのメッセージをクライアントに送信します。開いたままになっていた転送先のポートなど、すべての接続が切断されると、クライアントはサーバーへの接続を切断します。その後、クライアントが終了します。