web-dev-qa-db-ja.com

git:osxkeychain資格情報ヘルパーがユーザー名/パスワードを黙って覚えていない

このページ そして多くの人がgitでosxkeychain資格情報ヘルパーを設定するための指示を与えます。私はこれらの指示に従いました。すべてがうまく機能しているようでした。キーチェーンアクセスアプリケーションのユーザー名とパスワードが正しく、git-credential-osxkeychainがgithub.comレコードにアクセスできることがわかります。 git config -lと入力すると、エントリcredential.helper=osxkeychainと、正しいuser.nameおよびuser.emailエントリが表示されます。 git credential-osxkeychainを実行すると、どうやら想定されている使用法メッセージが表示されます。エラーメッセージが表示されることはありません。すべてが正しく設定されているようです。

ただし、特定のリポジトリをgit Pushを何度実行しても、常にユーザー名とパスワードの入力を求められます。キーチェーンアクセスエントリにあるユーザー名とパスワードの入力は機能します。したがって、ログインの問題ではないようです。さらに、git credential-osxkeychain erase(またはgit-credential-osxkeychain erase)と入力すると、コマンドがサイレントにハングし、私が知る限り、無期限にハングします。

私はまだ、この問題を文書化するものを見つけることができませんでした。 この質問 同様の問題が発生しますが、私のgitバージョンは2.6.4であるため、解決策は役に立ちません。なぜこれを行うのですか?また、osxkeychain資格情報ヘルパーを使用してgitにユーザー名とパスワードを記憶させるにはどうすればよいですか?

Mac OS X10.11.4とgitバージョン2.6.4を使用しています。

14
nben

~/.ssh/configを編集し、キーチェーンにパスワードを記憶させたいすべてのホストにUseKeychain yesを追加します。

たとえば、GitHubでこれを実行しようとしている場合:

Host github.com
    IdentityFile ~/.ssh/your_github_cert_rsa
    UseKeychain yes

すべてのホストで有効にする場合は、次を追加するだけです。

Host *
    UseKeychain yes

これは新しい要件であり、macOS Sierra10.12.2ではApple)によって追加されました。10.12.2でman ssh_configを実行する方法について詳しく知ることができます。

UseKeychain

             On macOS, specifies whether the system should search for
             passphrases in the user's keychain when attempting to use a par-
             ticular 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''.

Mac OS 10.11では、変数を使用してキーチェーンが無効になっているかどうかを確認できます

KeychainIntegration
  Specifies whether to enable Keychain support on Mac OS X.  
  If Keychain support is enabled, then passwords for identities can be 
  managed via the Mac OS X Keychain.
  The value for this keyword must be ``yes'' or ``no''.  The default is ``yes''.
AskPassGUI
  Show the system password Prompt
15
andresgottlieb