web-dev-qa-db-ja.com

SVN + SSH、毎回ssh-addを行う必要はありませんか? (マックOS)

私は答えがそこにあることを知っていますが、私はかなりUnixに物足りないので、もしそれが私を直撃したなら、おそらく解決策を認識しないでしょう。

私はMacで、SSHトンネリングを介してSVNサーバーに接続しています。しなければならない ssh-add privateKey.txt SVNサーバーに接続するたびに(CornerstoneとXcodeの両方がSVNに接続します)。

キーをどこかに「保存」する方法があるので、毎回これを行う必要はありませんか?キーチェーンに追加しますか?いくつかの設定ファイル?スクリプトを起動しますか?

103
James J

まず、秘密鍵ファイルを~/.sshに移動します。これは厳密に必要というわけではありませんが、そのようなものの標準的な場所です。

次にssh-add -K ~/.ssh/privateKey.txtを実行します。必要に応じてパスフレーズの入力を求められ、キーチェーンに追加されます。

その後、他に何もする必要はないはずです。少し長い説明があります here

172
Nicholas Riley

キーチェーンにパスフレーズを保存する

デフォルトのキーのパスフレーズをキーチェーンに保存するには、ターミナルを開いて次を実行します:

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

49
Adam

よく調べた結果、この問題に対する答えは完全に見つかったと思います。最初に、必ず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つのデフォルトが必要かどうかはわかりませんが、とにかくそれらを含めました。

19
mitalia

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

6
Ben

私はMacの経験があまりないので、このバージョンがあなたに適しているかどうかはわかりませんが、 http://www.phil.uu.nl/~xges/ssh/ を見てください

この特定のアプリが機能しない場合、それはあなたがとにかく探しているものです-ssh agent。 UNIXライクなボックスでは、グローバルエフェクトを得るために、ウィンドウマネージャ全体を起動する必要がありますが、osxでは不可能な場合があります。

詳細: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html

2
viraptor

sshkeychain は1つの可能性です。以下を使用してmacportsで正常にインストールします。

Sudo port install sshkeychain

キーチェーンを使用してパスワードを保存し、ログインセッションの起動時に単純に起動することができます(最初の起動では、ドックのアイコンで通常の右クリック+「起動時に起動」を使用)

Appleのsvnはキーチェーンを使用してパスワードを保存しますが、必ずしもmacportsでビルドするsvnバイナリではないことに注意してください。

1
meduz

次を実行して、キーチェーンにキーを追加します。

ssh-add -K ~/.ssh/id_rsa

ssh config(~/.ssh/config)キーチェーンからssh-agentにキーを自動的にロードするファイル(AddKeysToAgent yesオプション)およびパスフレーズをキーチェーンに保存(UseKeychain yesオプション):

Host *
 AddKeysToAgent yes
 UseKeychain yes
0
Jakub Kukul