rubyを使ってSSHを実行し、そのサーバーSSHから別のサーバーにSSHする方法を探していました。ジャンプオフサーバーは、最終サーバーにアクセスできる唯一のサーバーです。 Net :: SSHを試していましたが、確立されたSSH接続からSSH接続を取得できないようです。RubyでジャンプオフサーバーとSSHをSSHに接続する方法
irb(main):021:0> require "net/ssh"
=> false
irb(main):022:0> Net::SSH.start("10.10.10.10", "admin") do |ssh|
irb(main):023:1* result = ssh.exec!("mm | grep 'dv ' | awk '{print $1}'").strip
irb(main):024:1> p "Going to try to login to #{result}"
irb(main):025:1> Net::SSH.start(result, "admin") do |ssh1|
irb(main):026:2* hostname = ssh1.exec!("hostname")
irb(main):027:2> p "In #{hostname}"
irb(main):029:2> end
irb(main):030:1> end
"Going to try to login to vz-int-api02"
SocketError: initialize: name or service not known
from org/jruby/ext/socket/RubyTCPSocket.java:129:in `initialize'
from org/jruby/RubyIO.java:1178:in `open'
from /usr/local/jruby-1.7.9/lib/ruby/gems/shared/gems/net-ssh-2.9.2 /lib/net/ssh/transport/session.rb:70:in `initialize'
from org/jruby/ext/timeout/Timeout.java:105:in `timeout'
from /usr/local/jruby-1.7.9/lib/ruby/gems/shared/gems/net-ssh-2.9.2 /lib/net/ssh/transport/session.rb:67:in `initialize'
from /usr/local/jruby-1.7.9/lib/ruby/gems/shared/gems/net-ssh-2.9.2 /lib/net/ssh.rb:207:in `start'
from (irb):25:in `evaluate'
from /usr/local/jruby-1.7.9/lib/ruby/gems/shared/gems/net-ssh-2.9.2 /lib/net/ssh.rb:215:in `start'
from (irb):22:in `evaluate'
from org/jruby/RubyKernel.java:1119:in `eval'
from org/jruby/RubyKernel.java:1519:in `loop'
from org/jruby/RubyKernel.java:1282:in `catch'
from org/jruby/RubyKernel.java:1282:in `catch'
from /usr/local/jruby-1.7.9/bin/irb:13:in `(root)'
私も確立SSH接続から直接SSH接続を実行しようとしたが、セッションオブジェクトから新しいセッションを開始する方法はないように思わ
:
irb(main):035:1> ssh.start(result, "admin") do |ssh1|
が与える:
NoMethodError: undefined method `start' for #<Net::SSH::Connection::Session:0x5b11d0d8>
私はおそらく間違った角度からこの問題に取り組んでいますが、私はSSH接続からSSHを使いたいと思っている人はいませんでした。
をlocahostする新しいSSH接続を行いますシェルコマンド(https://quizlet.com/44970397/linux-and-hacking-common-commands-and-memorize-mes-flash-cards/)しかし、私はこれをルビーでやりたいと思っています – amadain