Net/ssh telnet set port 119 (nntp)

Following the API at:

http://rubydoc.info/gems/net-ssh-telnet/0.0.2/frames

I want to login to leafnode with something like:

s = Net::SSH::Telnet.new(:host => localhost,:port => 119)

here’s what I have so far, though:

thufir@dur:~/ruby/telnet$
thufir@dur:~/ruby/telnet$ ruby telnet.rb
hello
telnet.rb:8:in `': uninitialized constant Net::SSH::Telnet
(NameError)
thufir@dur:~/ruby/telnet$
thufir@dur:~/ruby/telnet$ nl telnet.rb
1 require “rubygems”
2 require “net/ssh”

 3  puts "hello"


 4  s = Net::SSH::Telnet.new(
 5          "Dump_log" => "/dev/stdout",
 6          "Host" => "127.0.0.1:119",
 7  )

 8  puts "Logged in"
 9  puts s.cmd("echo hello")

10  put "started"

thufir@dur:~/ruby/telnet$
thufir@dur:~/ruby/telnet$ telnet localhost nntp
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
200 Leafnode NNTP Daemon, version 1.11.8 running at localhost (my fqdn:
dur.bounceme.net)
quit
205 Always happy to serve!
Connection closed by foreign host.
thufir@dur:~/ruby/telnet$
thufir@dur:~/ruby/telnet$ telnet localhost 119
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
200 Leafnode NNTP Daemon, version 1.11.8 running at localhost (my fqdn:
dur.bounceme.net)
quit
205 Always happy to serve!
Connection closed by foreign host.
thufir@dur:~/ruby/telnet$

I’ve tried various ways of setting the port, but can’t figure it out.
How do you set the port?

thanks,

Thufir

On Sun, 25 Mar 2012 19:49:44 +0900, Thufir wrote:

Following the API at:

File: README — Documentation for net-ssh-telnet (0.0.2)

I want to login to leafnode with something like:

s = Net::SSH::Telnet.new(:host => localhost,:port => 119)

Ruby cookbook to the rescue, 14.9 “being a telnet client”:

thufir@dur:~/ruby/net_telnet$
thufir@dur:~/ruby/net_telnet$ ruby net.rb
Read 491 bytes; total 491
thufir@dur:~/ruby/net_telnet$ nl net.rb
1 require ‘rubygems’
2 require ‘net/telnet’

 3  webserver = Net::Telnet::new('Host' => 'www.oreilly.com','Port'

=> 80,‘TelnetMode’ => false)

 4  size = 0


 5  webserver.cmd("GET / HTTP/1.1\nHost: www.oreilly.com\n") do |c|
 6    size += c.size
 7    puts "Read #{c.size} bytes; total #{size}"
 8  end

thufir@dur:~/ruby/net_telnet$

just need to login to leafnode now :slight_smile:

-Thufir

On Sun, 25 Mar 2012 19:49:44 +0900, Thufir wrote:

File: README — Documentation for net-ssh-telnet (0.0.2)

I want to login to leafnode with something like:

Well, I don’t get it, I have no idea why the sample code doesn’t work
for
me. It appears to be a matter of ?importing? the gem correctly. What’s
the correct syntax, please? How do you know what the syntax is to ?
import? the gem correctly?

thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ ruby ssh.rb
trying to connect…
ssh.rb:10:in <main>': undefined local variable or method ssh’ for
main:Object (NameError)
thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ nl ssh.rb
1 require ‘rubygems’
2 require ‘net/ssh/telnet’

 3  puts "trying to connect..."



 4  s = Net::SSH::Telnet.new(
 5        "Dump_log" => "/dev/stdout",
 6        "Session" => ssh
 7  )
 8  puts "Logged in"
 9  p s.cmd("echo hello")

thufir@dur:~/ruby/ssh$

thanks,

Thufir

On Sun, Mar 25, 2012 at 10:25 AM, Thufir [email protected] wrote:

On Sun, 25 Mar 2012 19:49:44 +0900, Thufir wrote:

Well, I don’t get it, I have no idea why the sample code doesn’t work for
me.

Because you’re not using the sample code?

4 s = Net::SSH::Telnet.new(
5 “Dump_log” => “/dev/stdout”,
6 “Session” => ssh
7 )

Where have you defined the ‘ssh’ for “Session”? Go back and look at
the gem’s sample code.

On Mon, 26 Mar 2012 02:43:36 +0900, Hassan S. wrote:

Well, I don’t get it, I have no idea why the sample code doesn’t work
for me.

Because you’re not using the sample code?

Pardon, I don’t understand:

http://rubydoc.info/gems/net-ssh-telnet/0.0.2/frames

example 1:

s = Net::SSH::Telnet.new(
“Dump_log” => “/dev/stdout”,
“Session” => ssh
)
puts “Logged in”
p s.cmd(“echo hello”)

That’s not my code, that’s the sample code. What I’m asking is why the
sample code, when copied, pasted, gives errors as so:

thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ ruby ssh.rb
trying to connect…
ssh.rb:10:in <main>': undefined local variable or method ssh’ for
main:Object (NameError)
thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ nl ssh.rb
1 require ‘rubygems’
2 require ‘net/ssh/telnet’

 3  puts "trying to connect..."



 4  s = Net::SSH::Telnet.new(
 5        "Dump_log" => "/dev/stdout",
 6        "Session" => ssh
 7  )
 8  puts "Logged in"
 9  p s.cmd("echo hello")

thufir@dur:~/ruby/ssh$

thanks,

Thufir

On Mon, 26 Mar 2012 12:49:33 +0900, Iain D. wrote:

4  s = Net::SSH::Telnet.new(
5          "Dump_log" => "/dev/stdout", 6          "Host" =>
"127.0.0.1:119",

s = Net::SSH::Telnet.new(
“Dump_log” => “/dev/stdout”,
“Host” => “127.0.0.1”,
“Port” => 119 as part

ah, ok. I thought I’d tried that, but apparently not. There’s no
login,
I just would like to pass some commands to leafnode and get the
response.

Am I not getting the output correctly?

thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ ruby ssh.rb
trying to connect…

0x00000: 54 72 79 69 6e 67 20 31 32 37 2e 30 2e 30 2e 31 Trying

127.0.0.1

0x00010: 2e 2e 2e 0a …

/home/thufir/.rvm/gems/ruby-1.9.3-p125/gems/net-ssh-telnet-0.0.2/lib/net/
ssh/telnet.rb:219:in rescue in initialize': timed out while opening a connection to the host (Timeout::Error) from /home/thufir/.rvm/gems/ruby-1.9.3-p125/gems/net-ssh- telnet-0.0.2/lib/net/ssh/telnet.rb:208:ininitialize’
from ssh.rb:5:in new' from ssh.rb:5:in
thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ nl ssh.rb
1 require ‘rubygems’
2 require ‘net/ssh/telnet’

 3  puts "trying to connect..."
 4  s = Net::SSH::Telnet.new(
 5          "Dump_log" => "/dev/stdout",
 6          "Host" => "127.0.0.1",
 7    "Port" => "119"
 8  )
 9  puts "Logged in"
10  putss.cmd("group comp.lang.ruby")

thufir@dur:~/ruby/ssh$

thanks,

Thufir

On Sun, Mar 25, 2012 at 9:36 PM, Thufir [email protected] wrote:

That’s not my code, that’s the sample code.

Really? Here’s what I see in Example 1 –


Example 1 - pass existing Net::SSH::Session object

ssh = Net::SSH.start(“127.0.0.1”,
:username=>“test123”,
:password=>“pass456”
)
s = Net::SSH::Telnet.new(
“Dump_log” => “/dev/stdout”,
“Session” => ssh
)
puts “Logged in”
p s.cmd(“echo hello”)

What I’m asking is why the
sample code, when copied, pasted, gives errors as so:

ssh.rb:10:in <main>': undefined local variable or method ssh’

Because you didn’t copy all of it, and the variable ‘ssh’ in your broken
abbreviated test isn’t defined.

Just what the error message says, unsurprisingly :slight_smile:

4 s = Net::SSH::Telnet.new(
5 “Dump_log” => “/dev/stdout”,
6 “Host” => “127.0.0.1:119”,

s = Net::SSH::Telnet.new(
“Dump_log” => “/dev/stdout”,
“Host” => “127.0.0.1”,
“Port” => 119 as part

you’re right, when I read that last night I was a bit tired.

I’m trying to look at the corresponding API for “non-ssh” telnet, to
figure out how to login to leafnode and get the output printed to the
screen. I just get timeouts so far:

thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ ruby ssh.rb
trying to connect…

0x00000: 54 72 79 69 6e 67 20 31 32 37 2e 30 2e 30 2e 31 Trying

127.0.0.1

0x00010: 2e 2e 2e 0a …

[1]+ Stopped ruby ssh.rb
thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ /home/thufir/.rvm/gems/ruby-1.9.3-p125/gems/net-
ssh-telnet-0.0.2/lib/net/ssh/telnet.rb:219:in rescue in initialize': timed out while opening a connection to the host (Timeout::Error) from /home/thufir/.rvm/gems/ruby-1.9.3-p125/gems/net-ssh- telnet-0.0.2/lib/net/ssh/telnet.rb:208:ininitialize’
from ssh.rb:5:in new' from ssh.rb:5:in

[1]+ Exit 1 ruby ssh.rb
thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$ nl ssh.rb
1 require ‘rubygems’
2 require ‘net/ssh/telnet’

 3  puts "trying to connect..."
 4  s = Net::SSH::Telnet.new(
 5          "Dump_log" => "/dev/stdout",
 6          "Host" => "127.0.0.1",
 7    "Port" => "119"
 8  )
 9  puts "Logged in"
10  putss.cmd("group comp.lang.ruby")

thufir@dur:~/ruby/ssh$
thufir@dur:~/ruby/ssh$

In fact, it doesn’t even seem to be “logging in” since that put never
executes. Am I using the right API? If so, how do I get the response
which “telnet localhost nntp” brings up in the terminal?

thanks,

Thufir