2016-10-30 11 views
0

Ich versuche, einen Knoten, bento/centos 7.2, über Chef zu bootstrappen und laufe in einen SSH-Fehler.Chef/Vagrant SSH Bootstrap-Fehler

Ich habe virtualbox zusammen mit Vagrant installiert. Ich bin in der Lage, mit dem ssh-Client, der dem Chef DK integriert ist, ohne Probleme in die VM einzudringen. Ich verwende Hosted Chef als meinen Server.

Auf meiner Win 10-Arbeitsstation gebe ich den folgenden Befehl aus und erhalte einen Fehler.

PS C:\Users\Topher\Documents\Learn Chef\.chef> knife bootstrap 10.0.2.15 --ssh-user vagrant --sudo --ssh-identity-file C:\Users\ 
Topher\.vagrant\machines\default\virtualbox\private_key --node-name localhost --run-list 'recipe[learn_chef_httpd]' 
Node localhost exists, overwrite it? (Y/N) Y 
Client localhost exists, overwrite it? (Y/N) Y 
Creating new client for localhost 
Creating new node for localhost 
Connecting to 10.0.2.15 
ERROR: Net::SSH::ConnectionTimeout: Net::SSH::ConnectionTimeout 

Irgendwelche Ideen, was das ConnectionTimeout verursacht?

+0

können Sie den Knoten ohne Messer ssh? z.B. 'Landstreicher - Debug ssh'? – RubyTuesdayDONO

+0

Ich, was wir auf der richtigen Spur sind ... Ich lief ... PS C: \ Users \ Topher> Vagabund --debug ssh ... die eine Menge Ausgaben an die Shell ausgegeben. Die Ausgabe zeigte dies einige Male an ... INFO-Schnittstelle: Fehler: 'ssh'-Programmdatei wurde in keinem Verzeichnis in der Variablen% PATH% gefunden. Ist ein SSH-Client installiert? Versuchen Sie, Cygwin, MinGW oder Git zu installieren, die alle einen SSH-Client enthalten. // INFO-Schnittstelle: Maschine: error-exit ["Vagrant :: Errors :: SSHUnavailableWindows" // Ich kann mich über den chef dk client sowie den git client über ssh verbinden. – HBach

Antwort

0

In meinem Fall habe ich versucht einen Remote-Server (kein lokales Vagrant VM) mit Messer Bootstrap wie folgt:

knife bootstrap <FQDN of node being provisioned> -x <username> -P <password> --sudo --use-sudo-password <password> -N <name for node being provisioned> 

In meinem Fall war das Problem, dass mein Chef Server wurde als lokale VM läuft und es verwendete ein privates Netzwerk von VirtualBox und war daher für den Knoten, den ich mit Messer versorgte, nicht zugänglich. Indem ich meine Vagrant-Konfiguration für meinen Chef-Server in ein öffentliches Brückennetzwerk änderte, konnte ich während meines Messer-Bootstrap-Befehls über den "FEHLER: Net :: SSH :: ConnectionTimeout: Net :: SSH :: ConnectionTimeout" hinwegkommen. Hier ist, was meine Vagrant Dateiänderung sah aus wie:

Vagrant.configure(2) do |config| 
    config.vm.define 'chef-server' do |cs| 
    cs.vm.box = 'bento/ubuntu-14.04' 
    cs.vm.box_version = '2.2.9' 
    cs.vm.hostname = 'chef-server.test' 
    #cs.vm.network 'private_network', ip: 'xxx.16.9.5' 
    cs.vm.network "public_network", 
     bridge: "Intel(R) Ethernet Connection I217-LM", 
     ip: ENV.fetch("IPS", "xxx.16.9.5"), netmask: ENV.fetch("NETMASKS", "255.255.0.0") 
    cs.vm.provision 'shell', inline: CHEF_SERVER_SCRIPT.dup 
    set_hostname(cs) 

    cs.vm.provider 'virtualbox' do |v| 
     v.memory = 2048 
     v.cpus = 2 
    end 
    end 

Notiere die kommentierten aus privaten Netzwerk und dem uncommented öffentlichen Netz unmittelbar danach.

Eine nützliche Befehlszeile Arg für Messer ist -VV für ausführliche/Debug-Ausgabe. Versuchen Sie das, um zu sehen, ob es Ihnen mehr Einblick in Ihr Problem gibt.

Eine andere Sache, die ich bemerkte, ist, dass ich in meinem Fall manchmal die "FEHLER: Net :: SSH :: ConnectionTimeout: Net :: SSH :: ConnectionTimeout" während meiner Messer Bootstrap Befehl, aber bei Wiederholung würde es gelingen.

Bitte markieren Sie meine Antwort als die richtige Antwort, wenn es Ihr Problem löst.

Verwandte Themen