web-dev-qa-db-ja.com

VagrantゲストVMのクラスター間でSSH接続する方法

ブリッジネットワークで構成され、Vagrantでセットアップされた3つのUbuntu 12.04VMがあります。 「vagrantssh」を使用してホストからそれらすべてにアクセスできますが、あるゲストVMから別のゲストに接続する方法がわかりません。

8
IanSR

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]

  1. Vagrant仮想マシンクラスター ジェシー-jessesnet2014-04-22。 2015年2月26日取得
5
ThorSummoner

複雑なマルチCentOS(BoxCutter 6.9)VM Vagrantセットアップでこれを修正しました。この問題には2つのレベルがあり、私の問題は2でした。

  1. 「private_network」があり、すべてのVMのIPアドレスが同じサブネット(静的またはDHCP)にあるように、Vagrant構成を正しく取得します。 https://www.vagrantup.com/docs/networking/ private_network.html

  2. このエラーが発生した場合に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(勝ちました賢いので、セッションを切断しないでください)。

2
Oliver Dungey

ブリッジインターフェースを使用してセットアップした場合は、それらがすべて標準LANに属していることを意味します。したがって、発行することにより、別のVMからVM)に簡単にアクセスできます。

 ssh myname@ip_of_vm_2

マシンのIPは、各マシンの内部から直接、またはnmapなどの標準ツールを使用するか、ルーターにDHCPクライアントのリストを要求することによって見つけることができます。最後に、IPアドレスはわかっているが、BIOS名はわかっていない場合は、nmbdを使用して名前をIPアドレスに関連付けることができます。

 nmblookup -A IP_address

ちなみに、このアクセスのしやすさ(VMをLAN PCと同じ足元に設定する)は、私が常にブリッジインターフェイスを使用する理由の1つです。

1
MariusMatutiae