vagrant ボックスで新しい SSH キー ペアを作成するのではなく、エージェント転送を使用して、ホスト マシンにあるキー ペアを再利用したいと考えています。Vagrantfile でconfig.ssh.forward_agentを TRUE に設定してから、VM を再起動し、次を使用してみました。
vagrant ssh -- -A
...しかし、git チェックアウトを実行しようとすると、パスワードの入力を求められます。私が見逃しているものはありますか?
vagrant ボックスで新しい SSH キー ペアを作成するのではなく、エージェント転送を使用して、ホスト マシンにあるキー ペアを再利用したいと考えています。Vagrantfile でconfig.ssh.forward_agentを TRUE に設定してから、VM を再起動し、次を使用してみました。
vagrant ssh -- -A
...しかし、git チェックアウトを実行しようとすると、パスワードの入力を求められます。私が見逃しているものはありますか?
OS X Mountain Lion で vagrant 2 を使用しています。
Vagrant.configure("2") do |config|
config.ssh.private_key_path = "~/.ssh/id_rsa"
config.ssh.forward_agent = true
end
config.ssh.private_key_path
あなたのローカルの秘密鍵ですssh-add -L
。リストにない場合は追加しますssh-add ~/.ssh/id_rsa
~/.ssh/authorized_keys
Vagrant VM に公開鍵を追加することを忘れないでください。コピーして貼り付けるか、 ssh-copy-idなどのツールを使用して行うことができますVagrantfileに追加します
Vagrant::Config.run do |config|
# stuff
config.ssh.forward_agent = true
end
「config.ssh.forward_agent = true」を vagrant ファイルに追加することに加えて、ホスト コンピューターがエージェント転送用に設定されていることを確認します。Github は、これに関する優れたガイドを提供します。(トラブルシューティングのセクションを参照してください)。
Windows を使用している場合、Vagrant の SSH 転送はデフォルトでは正しく機能しません (net-ssh のバグのため)。この特定の Vagrant バグ レポートを参照してください: https://github.com/mitchellh/vagrant/issues/1735
ただし、回避策があります。VagrantFile の簡単なプロビジョニング スクリプトを使用して、ローカル SSH キーを Vagrant VM に自動コピーするだけです。例を次に示します: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783
vagrant-aws
最近、Vagrant 1.1.5 でプラグインを試したところ、 SSH エージェントの転送で問題が発生しました。IdentitiesOnly=yes
Vagrant は、それを に変更するオプションなしで強制していたことが判明しましたno
。これにより、Vagrant はVagrantfile
、AWS プロバイダー用にリストした秘密鍵のみを確認するようになりました。
ブログ記事に私たちの経験を書きました。ある時点でプルリクエストになる可能性があります。