пятница, 21 июня 2019 г.

Работа с telnet через ssh туннель




require 'net/ssh/gateway'
require 'net-telnet'

ssh_host = '10.181.7.2'
ssh_user = 'sasus'
PASS = 'cjhufhj'

telnet_user = 'serv'
telnet_password  = 'Eimees8'
target_host = '100.82.269.214'
target_port = '23'
login_prompt = /Username[: ]*\z/n
password_prompt = /[Pp]ass(?:word|phrase)[: ]*\z/n

loginInfo = {"Name" => "srrv",
             "Password" => 'Eyhvvn8',
             "LoginPrompt" => /Username:( )*/,
             "PasswordPrompt" => /Password:( )*/}

gateway = Net::SSH::Gateway.new(ssh_host, ssh_user, :password => PASS, :verbose => :debug)
local_port = gateway.open('17.77.289.24', 23, 3323)

telnet = Net::Telnet::new("Host" => "127.0.0.1", "Port" => local_port, "Output_log" => "output_log",
                          "Waittime"   => 0,
                          "Dump_log"   => "dump_log",
                          "Prompt"     => /^[<\[]\S+[>\]]/)
p telnet.login(loginInfo)

Ярлыки