これまでのところ、Vagrantを使用してWindowsホスト上にCentOS VMを作成し、それに接続しています。
次に、Chefを使用して、作成されたVMにスタックをプロビジョニングします。ローカルディレクトリのクックブックとレシピへのURLを提供してみましたが、エラーからわかるように、ゲストボックスにSSHで接続できないため、おそらく失敗します。
SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.
だから私の最初の質問は:
1)すべてのスクリプトが正常に実行されるように、WindowsホストでゲストOSを起動したのと同じウィンドウ内でSSHが機能することを確認するにはどうすればよいですか?
さて、vagrantfileの以下の行にコメントすると
config.ssh.username = "root"
上記のエラーはなくなりますが、別のエラーが発生します。
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
mount -t vboxsf -o uid=
id -u vagrant
,gid=id -g vagrant
v-csr-2 /tmp/vagrant-chef-1/chef-solo-2/roles
これは、ユーザーvagrantがボックスへの十分なアクセス権を持っていないためです。これは私の2番目の質問です。
2)sudoまたはsuアクセスですべてのコマンドを実行するようにVagrantに指示するにはどうすればよいですか?