git/ssh
を設定することは可能ですか?git pull
を実行するたびにパスフレーズを入力する必要はありませんか?リポジトリはgithubのプライベートなものであることに注意してください。
または、代わりに、プライベートGithubリポジトリからコードの展開を自動化するためのベストプラクティスは何でしょうか。
追加の詳細: FedoraベースのパブリックAMIを実行するEC2インスタンス。
このリンクをご覧ください https://help.github.com/articles/working-with-ssh-key-passphrases/
しかし、キーを使用するたびに長いパスフレーズを入力したくありません!
私もそうではないです!ありがたいことに、
ssh-agent
パスフレーズを安全に保存できるため、パスフレーズを再入力する必要がありません。 OSX Leopard以降を使用している場合は、システムのキーチェーンにキーを保存して、生活をさらに便利にすることができます。ほとんどのLinuxインストールでは、ログイン時にssh-agentが自動的に起動します。
ここで説明するように、パスワードキャッシングを有効にしました。
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
1か月間パスワードをキャッシュするには:
git config --global credential.helper 'cache --timeout=2628000'
これで状況は修正されましたが、私にとっては~/.ssh/
に複数のキーがあったという事実でした
この問題を解決するには、~/.ssh/config
というファイルを作成し、次の行を追加する必要がありました。
IdentityFile ~/.ssh/my_key2_rsa
ここで、~/.ssh/my_key2_rsa
は私のキーです。
これを試して:
git config credential.helper store
パスワードを1回入力する必要があります。その後、パスワードはルート内のフォルダーに保存されます。
コメントが指摘したように、これはSSHパスワードでは機能せず、HTTPSパスワードでのみ機能します。
なぜ誰もまだこれを報告していないのか分かりません。ただし、最も簡単なアプローチは、.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