ブリッジネットワークで構成され、Vagrantでセットアップされた3つのUbuntu 12.04VMがあります。 「vagrantssh」を使用してホストからそれらすべてにアクセスできますが、あるゲストVMから別のゲストに接続する方法がわかりません。
Vagrantfileで、各マシンに静的プライベートアドレスを指定します。
Vagrant.configure(2) do |config|
config.vm.define "master" do |master|
master.vm.box = "ubuntu/trusty64"
# You may wish to use a more obscure private ip, like 10.2.2.4
master.vm.network "private_network", ip: "10.0.0.200"
end
config.vm.define "slave" do |slave|
slave.vm.box = "ubuntu/trusty64"
# You may wish to use a more obscure private ip, like 10.2.2.5
slave.vm.network "private_network", ip: "10.0.0.201"
end
End
これらのマシンが両方とも起動すると、最初に名前で1つにSSH接続できます
vagrant ssh master
そして、このセッション内から、プライベートネットワークIPを介して別のマシンにSSH接続できます。
ssh 10.0.0.201
ユーザー/パスワードの入力を求められたら、vagrant
/vagrant
として認証するか、自分でsshをさらに構成できます。
この情報は、次の投稿から採用されました[1]:
複雑なマルチCentOS(BoxCutter 6.9)VM Vagrantセットアップでこれを修正しました。この問題には2つのレベルがあり、私の問題は2でした。
「private_network」があり、すべてのVMのIPアドレスが同じサブネット(静的またはDHCP)にあるように、Vagrant構成を正しく取得します。 https://www.vagrantup.com/docs/networking/ private_network.html
このエラーが発生した場合にVM間でSSH接続する場合:[root@vm01 ~]# ssh root@vm02 Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
エラーメッセージは、どの認証方法もセッションを認証できなかったことを意味し、パスワードオプションについての言及がないため、パスワード認証はおそらく無効。編集/etc/ssh/sshd_config
を修正し、PasswordAuthentication yes
があり、コメントアウトされていないことを確認するには(#
)、必要に応じてsshd
を再起動します:service sshd restart
(勝ちました賢いので、セッションを切断しないでください)。
ブリッジインターフェースを使用してセットアップした場合は、それらがすべて標準LANに属していることを意味します。したがって、発行することにより、別のVMからVM)に簡単にアクセスできます。
ssh myname@ip_of_vm_2
マシンのIPは、各マシンの内部から直接、またはnmap
などの標準ツールを使用するか、ルーターにDHCPクライアントのリストを要求することによって見つけることができます。最後に、IPアドレスはわかっているが、BIOS名はわかっていない場合は、nmbdを使用して名前をIPアドレスに関連付けることができます。
nmblookup -A IP_address
ちなみに、このアクセスのしやすさ(VMをLAN PCと同じ足元に設定する)は、私が常にブリッジインターフェイスを使用する理由の1つです。