4つのVMを実行するためにVagrantを使用しています。私Vagrantfileは、このようになります:私は誤って自分のプロジェクトディレクトリから.vagrant
フォルダを削除するまで削除された.vagrantディレクトリが私をSSHから守る
Vagrant.configure(2) do |config|
config.vm.box = "bento/centos-7.2"
config.vm.synced_folder "data", "/vagrant"
# Master1
config.vm.define :master1 do |m1|
m1.vm.hostname = "master1.mycluster"
m1.vm.network :private_network, ip: "192.168.0.12"
m1.vm.provider :virtualbox do |vb|
vb.memory = "8192"
end
m1.vm.network "forwarded_port", guest: 50070, host: 50070
end
# Other machines are defined in the same way
end
すべてが、完璧に働いていました。
まず、VM IDを.vagrant/machines/${name}/virtualbox/id
に戻してみました。 vagrant status
を実行すると、自分のVMが起動していると表示されましたが、もうSSH経由で接続できませんでした。
解決策を探しましたが見つかりませんでしたので、VMを破棄して再起動することにしました。悲しいことに、vagrant up
(またはvagrant up --provision
)のコマンドが、SSHへの接続を試行して、127.0.0.1:2222になりました。代わりに192.168.0.12:2222に接続しようとしていませんか?ここではコマンド出力です:
Bringing machine 'master1' up with 'virtualbox' provider...
==> master1: Importing base box 'bento/centos-7.2'...
==> master1: Matching MAC address for NAT networking...
==> master1: Checking if box 'bento/centos-7.2' is up to date...
==> master1: Setting the name of the VM: vagrant_master1_1493974030138_66977
==> master1: Clearing any previously set network interfaces...
==> master1: Preparing network interfaces based on configuration...
master1: Adapter 1: nat
master1: Adapter 2: hostonly
==> master1: Forwarding ports...
master1: 50070 (guest) => 50070 (host) (adapter 1)
master1: 61888 (guest) => 61888 (host) (adapter 1)
master1: 18080 (guest) => 18080 (host) (adapter 1)
master1: 9995 (guest) => 9959 (host) (adapter 1)
master1: 8787 (guest) => 8787 (host) (adapter 1)
master1: 8088 (guest) => 8088 (host) (adapter 1)
master1: 22 (guest) => 2222 (host) (adapter 1)
==> master1: Running 'pre-boot' VM customizations...
==> master1: Booting VM...
==> master1: Waiting for machine to boot. This may take a few minutes...
master1: SSH address: 127.0.0.1:2222
master1: SSH username: vagrant
master1: SSH auth method: private key
master1: Warning: Remote connection disconnect. Retrying...
master1: Warning: Authentication failure. Retrying...
けれども、私はssh -p 2222 [email protected]
をすることによって、私のVMに接続することができ、およびSSHフォルダは、権限の問題を持っていないようです。
[[email protected] ~]$ ls -la /home/vagrant/.ssh/
total 4
drwx------. 2 vagrant root 28 1 déc. 15:56 .
drwx------. 3 vagrant vagrant 90 1 déc. 15:57 ..
-rw-------. 1 vagrant root 409 1 déc. 15:56 authorized_keys
Vagrantを使用してVMを再度実行できるようにするにはどうすればよいですか?
「127.0.0.1:2222」は、寄付者が使用する正しいURLです。寄付者は、VMが初めてssh接続を実行する際にIPを設定していません。あなたはvirtualboxを通してVMに接続できますか?/home/vagrant/.ssh'フォルダの右側を確認してください –
リモートサーバにログインして仮想ボックスを開くにはvncなどが必要です - sshを確認する必要がある場合はあなたはssh接続を開始できません。 –
シンプルなSSHコマンドを使用して私のVMに接続できました。あなたの質問に答えて質問を編集しました。権利はOKのようです。 – Sunder