ruby net-ssh gemを使用して、JuniperM10iルーターに変更を加えられるようにしたいと思います。ただし、「configure」を送信した後、構成コマンドを送信できません。
たとえば、ssh経由でルーターにログインした後、次の3つのコマンドを発行したいと思います。
configure
show system
exit
net-sshライブラリを使用して、次のことを試しましたが成功しませんでした。
# net-ssh (2.3.0)
require 'net/ssh'
session = Net::SSH.start(host, user, :password => password)
session.exec!('term length 0')
session.exec!('term width 0')
channel = session.open_channel do |ch|
puts "Channel open."
ch.on_close do |ch|
puts "Channel is closing!"
end
ch.on_data do |ch, data|
puts "Data #{data}!!!!!!!!!!"
end
ch.exec "configure" do |ch, success|
puts "FAIL: configure" unless success
end
ch.exec "show system" do |ch, success|
puts "FAIL: show system" unless success
end
ch.exec "exit" do |ch, success|
puts "FAIL: exit" unless success
end
end
session.loop
実行すると、次の出力が得られます。
Channel open.
FAIL: show system
FAIL: exit
Data Entering configuration mode
!!!!!!!!!!
Channel is closing!
では、「configure」の後に「showsystem」コマンドを正しく渡すにはどうすればよいですか?
解決済み:
私は次の投稿に出くわしました:https ://stackoverflow.com/a/6807178/152852