SSHベースのSubversion接続を使用している場合は、パスフレーズで暗号化された秘密鍵を使用して公開鍵認証を使用しssh-agent
、セッションの開始時に鍵のロックを解除できます。キーをメモリに保持しているためssh-agent
、キーが終了すると、キーは使用できなくなります。
$ ssh-agent /bin/bash
これで、キーのロックを解除してSubversionを使用できるサブシェルが開始されます。
$ ssh-add ~/.ssh/id_rsa_svn
$ svn co svn+ssh://svn.example.com/svn/code
完了したら、サブシェルを終了します。
$ exit
これでエージェントは実行されなくなったため、キーは使用できなくなりました。
$
(一部のデスクトップ環境は独自のSSHエージェント実装を提供し、これらは「exit」がキーをクリアするという仮定を混乱させる可能性があることに注意してください。ただし、これらは通常、ログイン時にキーリングのロックを解除するため、安全性は同等である必要があります。)
パスワードベースの認証でこれを行う方法を私は知りません。あなたの特定の種類のUnixが.logout
ファイルなどをサポートしているかどうかを確認し、Subversionのパスワードストレージからのパスワードの削除をスクリプト化しようと試みることができると思います。ただし、このソリューションにはいくつかの欠点があります。スクリプトの実行をシェルに依存している、スクリプトが失敗する可能性がある、暗号化されていない状態でパスワードをディスクに書き込んでいる。