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
Verschicken Sie Ihre Tests auch über IPv6? – Doon
versuchen Sie 'ssh_options [: forward_agent] = true' –
@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