次の要件を持つ浮浪者マシン(Ubuntu 12.04)を構築しています。
- Vagrantを介したsudo特権を持つユーザーへのSSHアクセス。
ssh-keygen
ホストで公開キーと秘密キーを(経由で)生成authorized_keys
し、ゲスト上のファイルに公開キーを移動しました。そして、パスワードなしのSSHを試しました。
vagrant ssh
パスワードが有効なSSHキーを使用して入力すると、いくつかのことが起こります。
- ゲストマシンに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.
次に、パスワードなしのsshを試しました。
vagrant ssh
vagrant@127.0.0.1's password:
?
迷惑なユーザーを設定することはありません!user@hostname
設定したとおりのはずで、VirtualBoxでVMを起動すると動作を確認できます。
Vagrantで適切に動作するようにプライベートsshキーを取得するにはどうすればよいですか?ホストで何をすべきか、ゲストで何をすべきか?
更新
VirtualBoxでは、VMはライブですが、次の問題に加えて、Vagrant Consoleから次のコマンドを実行できませんvagrant ssh
。
vagrant up
vagrant halt
動作する唯一のvagrantコマンドはvagrant suspend
です。使用するときは、実際にマシンを停止できvagrant halt
ます。出力は次のとおりです。
$ vagrant halt
[default] Attempting graceful shutdown of VM...
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.
vagrant
-pub / privキーペアとは異なるユーザーとしてsshを使用してボックスにsshできるとしたらどうでしょうか?さらに、Vagrantfileから目的のプライベートsshキーへのパスを次のように設定できますか?