web-dev-qa-db-ja.com

SSHパスワードを再入力せずに「git pull」を実行するにはどうすればよいですか?

git/sshを設定することは可能ですか?git pullを実行するたびにパスフレーズを入力する必要はありませんか?リポジトリはgithubのプライベートなものであることに注意してください。

または、代わりに、プライベートGithubリポジトリからコードの展開を自動化するためのベストプラクティスは何でしょうか。

追加の詳細: FedoraベースのパブリックAMIを実行するEC2インスタンス。

82
jldupont

このリンクをご覧ください https://help.github.com/articles/working-with-ssh-key-passphrases/

しかし、キーを使用するたびに長いパスフレーズを入力したくありません!

私もそうではないです!ありがたいことに、ssh-agentパスフレーズを安全に保存できるため、パスフレーズを再入力する必要がありません。 OSX Leopard以降を使用している場合は、システムのキーチェーンにキーを保存して、生活をさらに便利にすることができます。ほとんどのLinuxインストールでは、ログイン時にssh-agentが自動的に起動します。

59
Fredrik Pihl

ここで説明するように、パスワードキャッシングを有効にしました。

https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux

1か月間パスワードをキャッシュするには:

git config --global credential.helper 'cache --timeout=2628000'
22
Sileria

これで状況は修正されましたが、私にとっては~/.ssh/に複数のキーがあったという事実でした

この問題を解決するには、~/.ssh/configというファイルを作成し、次の行を追加する必要がありました。

IdentityFile ~/.ssh/my_key2_rsa

ここで、~/.ssh/my_key2_rsaは私のキーです。

8
user2098467

これを試して:

git config credential.helper store

パスワードを1回入力する必要があります。その後、パスワードはルート内のフォルダーに保存されます。

コメントが指摘したように、これはSSHパスワードでは機能せず、HTTPSパスワードでのみ機能します。

6
Yankee

なぜ誰もまだこれを報告していないのか分かりません。ただし、最も簡単なアプローチは、.ssh/configファイルの先頭に_AddKeysToAgent yes_という1行を追加するだけです。 Ofcourse _ssh-agent_は事前に実行されている必要があります。実行されていない場合(端末で_ssh-agent_コマンドで確認します)、単に実行しますeval $(ssh-agent)

これが機能することを確認できます。多くのサブモジュールを含むプロジェクトでは、サブモジュールのクローンごとにsshパスフレーズを入力する必要があったためです。上記のトリックの後、私はもうそれをする必要はありません。

ソリューションのソースは https://askubuntu.com/questions/362280/enter-ssh-passphrase-once/853578#853578

3
infoclogged