我需要使用telnet从网络终端检索一些信息。这些终端在网络中,因此我无法访问该网络。但我可以访问同一网络中的服务器,然后从那里telnet。
这里的情况是,我是用红宝石做的。我可以在网络外的计算机上运行ruby和我的程序。我开始编码通过ssh连接到服务器,然后telnet终端并获取信息。 我使用了几个尝试这样做的库,net-ssh,net-ssh-bash和net / ssh / telnet,因为我觉得有最好的。
require 'net/ssh/telnet'
s = Net::SSH::Telnet.new(
"Dump_log" => "/logtelnet",
"Host" => "9.0.0.2",
"Username" => "root",
"Password" => "toor"
)
while 1>0
comando = gets.chomp
puts s.cmd(comando)
end
我可以连接到服务器,我可以运行一些命令,如“ls”,“cd /”等。
但是,当我尝试telnet或ssh网络终端时会话被冻结。我无法将telnet流传输到我的程序的ssh输出中。
有什么想法解决这个问题吗?