2016-07-31 5 views
0

Ich richte Capistrano 3 mit einem neuen Server, so dass ich eine Rails-Anwendung bereitstellen kann und bin derzeit fest. Jedes Mal, wenn ich jede cap production Aufgabe ausführen, dies geschieht:Capistrano: Netzwerk nicht erreichbar Fehler, aber kann ssh zu Server

$ cap production deploy:setup 
cap aborted! 
Errno::ENETUNREACH: Network is unreachable - connect(2) for [IPv6addresshere]:22 

Ich habe ein paar Stunden damit verbracht, diese, um herauszufinden, und bin mir nicht sicher, was los ist. Ich kann SSH als der gleiche Benutzer verwenden, den Capistrano ohne ein Kennwort verwendet, weil ich die autorisierte Schlüsseleinrichtung habe. Auch vom Remote-Server kann ich ssh [email protected] gut, weil ich den Bereitstellungsschlüssel konfiguriert habe.

Irgendwelche Vorschläge? Hier

ist die Spur:

/home/awatt/.rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:64:in `connect' 
/home/awatt/.rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:64:in `connect_internal' 
/home/awatt/.rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:139:in `connect' 
/home/awatt/.rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:636:in `block in tcp' 
/home/awatt/.rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:231:in `each' 
/home/awatt/.rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:231:in `foreach' 
/home/awatt/.rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:626:in `tcp' 
/home/awatt/.gem/ruby/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:70:in `initialize' 
/home/awatt/.gem/ruby/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `new' 
/home/awatt/.gem/ruby/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `start' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/connection_pool.rb:59:in `call' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/connection_pool.rb:59:in `with' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/netssh.rb:155:in `with_ssh' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/netssh.rb:108:in `execute_command' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/abstract.rb:141:in `tap' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/abstract.rb:55:in `test' 
/home/awatt/.gem/ruby/2.3.0/gems/capistrano-rbenv-2.0.4/lib/capistrano/tasks/rbenv.rake:10:in `block (3 levels) in <top (required)>' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/abstract.rb:29:in `instance_exec' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/backends/abstract.rb:29:in `run' 
/home/awatt/.gem/ruby/2.3.0/gems/sshkit-1.11.2/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute' 
Tasks: TOP => rbenv:validate 
+1

Verschicken Sie Ihre Tests auch über IPv6? – Doon

+0

versuchen Sie 'ssh_options [: forward_agent] = true' –

+0

@Doon Guter Punkt. Ich habe gerade versucht, ssh'ing über IPv6 und es wird nicht funktionieren. Wie kann ich Capistrano zwingen, IPv4 zu verwenden? Seltsamerweise, wenn ich 'ssh_options [: user]' von 'deploy' (ein neuer ish deploy-Benutzer) zu einem anderen Benutzernamen ändere, erhalte ich diesen Fehler nicht - aber ich muss den deploy-Benutzer verwenden. Auch hier funktioniert reguläres 'ssh deploy @ myserver' von meinem Rechner. @SeanHuber Danke, das mache ich schon. – Alex

Antwort

0

Ich fand, dass ich richtig meine deploy.rb Datei konfiguriert hatte, aber vernachlässigt deploy/production.rb zu aktualisieren, die es einem Benutzer hatte konfiguriert als [email protected]. Nachdem ein Bereitstellungsschritt in der primären Konfigurationsdatei ausgeführt wurde, wurde derselbe Schritt basierend auf den Produktionseinstellungen ausgeführt, und es konnte keine SSH-Verbindung hergestellt werden. Es war doch etwas Einfaches! Danke an diejenigen, die kommentiert haben.

Verwandte Themen