このページ そして多くの人が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を使用しています。
~/.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