Solaris のシステム管理 (セキュリティサービス)

ProcedureCDE で ssh-agent コマンドが自動的に動作するように設定する方法

CDE を使用する場合、Solaris Secure Shell を使用するときにパスフレーズとパスワードを入力しないようにするには、エージェントデーモン ssh-agent を自動的に起動します。このエージェントデーモンは、.dtprofile スクリプトから起動できます。パスフレーズとパスワードをエージェントデーモンに追加する方法については、例 19–3 を参照してください。


注意 – 注意 –

Sun Java Desktop System (Java DS) を使用する場合には、ssh-agent コマンドが自動的に実行されるように設定しないでください。ssh-agent プロセスの終了は CDE インタフェースによって制御されるため、Java DS を終了してもデーモンは動作し続けます。たとえば、CDE セッションでデーモンを起動し、Java DS セッションに移動してからログアウトした場合、デーモンは動作し続けます。

実行中のデーモンはシステムリソースを使用します。ssh-agent デーモンを実行したまま放置しても、何らかの既知の問題が発生するわけではありませんが、このデーモンにはパスワードが含まれているので、セキュリティーが脅かされる恐れがあります。


  1. ユーザーの起動スクリプトでエージェントデーモンを自動的に起動します。

    $HOME/.dtprofile スクリプトの最後に次の行を追加します。


    if [ "$SSH_AUTH_SOCK" = "" -a -x /usr/bin/ssh-agent ]; then
                    eval `/usr/bin/ssh-agent`
    fi
  2. CDE セッションを終了するときにエージェントデーモンを終了します。

    $HOME/.dt/sessions/sessionexit スクリプトに次の行を追加します。


    if [ "$SSH_AGENT_PID" != "" -a -x /usr/bin/ssh-agent ]; then
                    /usr/bin/ssh-agent -k
    fi

    このエントリにより、CDE セッションが終了したあとで、Solaris Secure Shell エージェントは使用できなくなります。このスクリプトは CDE に固有のインタフェース sessionexit を使用しているため、Sun Java Desktop System セッションでこの手順を実行しても、エージェントデーモンは終了しません。