Automating a password reset via net-telnet

D

Daniel Berger

Hi all,

I'm trying to automate a password reset via telnet for a report. This
happens twice per year, and right now I'm handling things manually. My
attempts so far have been unsuccessful. Here's what I've tried:

require 'net/telnet'
include Net

session = Telnet.new("Host" => host, "Output_log" =>
'ftp_test.output')
session.login(user, pass)

session.cmd("passwd")
#session.cmd("String" => "passwd", "Match" => /password:/i) # Tried
this, too

session.puts("old_password")
session.puts("new_password")
session.puts("new_password")

session.close

But, this doesn't seem to work. The output file shows that it's
waiting for the current password, but the program fails with a timeout
error. If I use the second cmd variant that I showed above, the script
fails silently.

Any ideas?

Thanks,

Dan
 
D

Daniel Berger

Hi all,

I'm trying to automate a password reset via telnet for a report. This
happens twice per year, and right now I'm handling things manually. My
attempts so far have been unsuccessful.

<snip>

The documentation from Perl's Net::Telnet module suggested, for
interactive programs, to always use puts/print + waitfor. So, I went
with that approach. Here's what ultimately succeeded:

require 'net/telnet'
include Net

session = Telnet.new("Host" => host)
session.login(user, "XXXX")
session.puts("passwd")

session.waitfor(/existing login password:\s*/im)
session.puts(current_password)

session.waitfor(/new password:\s*/im)
session.puts(new_password)

session.waitfor(/new password:\s*/im)
session.puts(new_password)

session.waitfor(/password successfully changed/) # !!!

session.close

Note the multi-line regexes - that was crucial. Also, be sure to wait
for the success message. If you don't your session will close too
early and it will appear that your program succeeded, when in fact it
did not.

Regards,

Dan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top