私は答えがそこにあることを知っていますが、私はかなりUnixに物足りないので、もしそれが私を直撃したなら、おそらく解決策を認識しないでしょう。
私はMacで、SSHトンネリングを介してSVNサーバーに接続しています。しなければならない ssh-add privateKey.txt
SVNサーバーに接続するたびに(CornerstoneとXcodeの両方がSVNに接続します)。
キーをどこかに「保存」する方法があるので、毎回これを行う必要はありませんか?キーチェーンに追加しますか?いくつかの設定ファイル?スクリプトを起動しますか?
まず、秘密鍵ファイルを~/.ssh
に移動します。これは厳密に必要というわけではありませんが、そのようなものの標準的な場所です。
次にssh-add -K ~/.ssh/privateKey.txt
を実行します。必要に応じてパスフレーズの入力を求められ、キーチェーンに追加されます。
その後、他に何もする必要はないはずです。少し長い説明があります here 。
キーチェーンにパスフレーズを保存する
デフォルトのキーのパスフレーズをキーチェーンに保存するには、ターミナルを開いて次を実行します:
ssh-add -K
また、別のキーを実行するためのパスフレーズを保存するには:
ssh-add -K /path/to/private/key/file
パスフレーズの入力を求められたら、入力してください。
Ssh-addを実行したり、パスフレーズを再度入力したりする必要はありません。
このサイトからの回答: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
よく調べた結果、この問題に対する答えは完全に見つかったと思います。最初に、必ずssh-add -K ~/.ssh/your_key_here
。これにより、キーチェーンにキーが追加されます。いくつかの場所では、これで十分だと読みましたが、確信はありませんでした。これもMac固有であるため、別のUNIXフレーバーでこれを行う必要がある場合、このオプションは必ずしも必要ではありません。
適切な測定のために、~/.ssh/config
ファイル(作成する必要がある場合があります)を使用して、すべてのキーを指定します。私のものは次のとおりです。
IdentityFile ~/.ssh/identity
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/my_other_identity_here
IdentityFile ~/.ssh/yet_another_identity_here
Ssh_configの manページ によると、これらは順番に試行されます。リストにある最初の3つのデフォルトが必要かどうかはわかりませんが、とにかくそれらを含めました。
MacOS 10.12.2以降、UseKeychain
オプションを使用できます。 詳細はこちら またはman ssh_config
。
UseKeychain
On macOS, specifies whether the system should search for passphrases in the user's keychain
when attempting to use a particular key. When the passphrase is provided by the user, this
option also specifies whether the passphrase should be stored into the keychain once it has
been verified to be correct. The argument must be ``yes'' or ``no''. The default is ``no''.
だから、次のことをしてください:
echo "UseKeychain yes" >> ~/.ssh/config
私はMacの経験があまりないので、このバージョンがあなたに適しているかどうかはわかりませんが、 http://www.phil.uu.nl/~xges/ssh/ を見てください
この特定のアプリが機能しない場合、それはあなたがとにかく探しているものです-ssh agent
。 UNIXライクなボックスでは、グローバルエフェクトを得るために、ウィンドウマネージャ全体を起動する必要がありますが、osxでは不可能な場合があります。
詳細: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
sshkeychain は1つの可能性です。以下を使用してmacportsで正常にインストールします。
Sudo port install sshkeychain
キーチェーンを使用してパスワードを保存し、ログインセッションの起動時に単純に起動することができます(最初の起動では、ドックのアイコンで通常の右クリック+「起動時に起動」を使用)
Appleのsvnはキーチェーンを使用してパスワードを保存しますが、必ずしもmacportsでビルドするsvnバイナリではないことに注意してください。
次を実行して、キーチェーンにキーを追加します。
ssh-add -K ~/.ssh/id_rsa
ssh config(~/.ssh/config
)キーチェーンからssh-agentにキーを自動的にロードするファイル(AddKeysToAgent yes
オプション)およびパスフレーズをキーチェーンに保存(UseKeychain yes
オプション):
Host *
AddKeysToAgent yes
UseKeychain yes