git/ssh
を実行するたびにパスフレーズを入力する必要がないように構成できますgit pull
か?リポジトリはgithub上のプライベートなものであることに注意してください。
または、代わりに、プライベートGithubリポジトリからコードのデプロイを自動化するためのベストプラクティスは何でしょうか?
追加詳細: FedoraベースのパブリックAMIを実行するEC2インスタンス。
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が自動的に起動します。
ssh-agent
次の場所に
ここで説明するように、パスワードキャッシュを有効にしました。
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
1か月間パスワードをキャッシュするには:
git config --global credential.helper 'cache --timeout=2628000'
これを試して:
git config credential.helper store
パスワードを一度入力する必要があります。その後、パスワードはルート内のフォルダに保存されます。
コメントが指摘したように、これはSSHパスワードでは機能せず、HTTPSパスワードでのみ機能します。
あなたの状況は修正されましたが、私にとっては複数のキーが ~/.ssh/
この問題を解決するには、というファイルを作成し~/.ssh/config
て次の行を追加する必要がありました。
IdentityFile ~/.ssh/my_key2_rsa
~/.ssh/my_key2_rsa
私の鍵はどこですか。
id_rsa
とid_rsa.pub
のファイルはGitがそれを認識することはない理由であるカスタム名を持っています。参照:linux.die.net/man/5/ssh_config
なぜ誰もこれをまだ報告していないのか、私にはわかりません。ただし、最も簡単な方法はAddKeysToAgent yes
、.ssh / configファイルの先頭に1行を追加することです。もちろん、ssh-agent
事前に実行しておく必要があります。実行されていない場合(ssh-agent
ターミナルのコマンドで確認)、単に実行しますeval $(ssh-agent)
これが機能することを確認できます。これは、多数のサブモジュールを使用するプロジェクトで、複製されるサブモジュールごとに、sshパスフレーズを入力する必要があったためです。上記のトリックの後、私はもうそれをする必要はありません。
ソリューションのソースは/ubuntu/362280/enter-ssh-passphrase-once/853578#853578です。