web-dev-qa-db-ja.com

タイムアウト時に一度だけパスワードを要求するようにgitを構成します

git pullまたはgit Pushを実行すると、常にパスワードの入力を求められます。

ラックスピードで公開鍵と秘密鍵のペアを生成しました。

プロジェクトをBitbucketで開きました:設定->一般->アクセスキーそして公開キーを追加しました。

次に、gitを ここに表示 のように構成して、パスワードを600秒間記憶するようにしました。

git config --global credential.helper 'cache --timeout=600'

GitのURLがhttpsではないことを確認しました:

Origin  [email protected]:company/example.git (fetch)
Origin  [email protected]:company/example.git (Push)

次に、git pullを実行しました。初めてパスワードを求められました。次に、git pullを再度実行しましたが、それでもパスワードを要求されます。

1
Black

SSHリモートを使用しているため、GitではなくOpenSSHからパスワードの入力を求められます。 GitはOpenSSHのパスワードを処理しないため(実行するのは簡単ではないため)、Gitの資格情報ヘルパーを構成しても効果はありません。

Gitの資格情報ヘルパーを使用する場合は、HTTPSリモートを使用する必要があります。

または、_ssh-agent_プログラムを使用してパスワードを保存することもできます。シェルでeval $(ssh-agent -s)を実行してから、_ssh-add_を実行してキーを追加できます。パスフレーズの入力を1回求められますが、そのターミナルでは再度求められません。

ご使用の環境でSSHエージェントが既にセットアップされている可能性があります。 _env | grep SSH_AUTH_SOCK_を実行でき、何かを出力する場合は、_ssh-add_を実行するだけで、最初のコマンドを実行する必要はありません。

2
bk2204