Net::SSH::Perl - Perl

This is a discussion on Net::SSH::Perl - Perl ; Sorry, I cant comment on the perl as yet but, are you not in the least bit worried that someone might hack into your base system - get the unencrypted password (old password) then log on - using ssh to ...

+ Reply to Thread
Results 1 to 4 of 4

Net::SSH::Perl

  1. Default Re: Net::SSH::Perl

    Sorry, I cant comment on the perl as yet but, are you not in the least bit
    worried that someone might hack into your base system - get the unencrypted
    password (old password) then log on - using ssh to the other box ?

    ssh is not 100% flawless

    From a security point of view it is a nightmare, from a SA point of view - I
    can see where you are coming from !

    Just curious is all
    "blob" <jaws@skyinet.net> wrote in message news:3f57f2ae@news.skyinet.net...
    > Hi all,
    >
    > Below is my script that will be used to connect to a remote host and
    > change my password automatically:
    >
    > ===========================================
    > #!/usr/bin/perl
    >
    >
    > use strict();
    > use Net::SSH::Perl;
    >
    >
    > $user="jaws";
    > $pass="password";
    > $host="xxx.xxx.xxx.xxx";
    > $old_password="password";
    > $new_password="newpass";
    >
    >
    > my $ssh = Net::SSH::Perl->new($host,debug=>1,use_pty=>1);
    > $ssh->login($user, $pass);
    >
    >
    > $ssh->register_handler("stderr", sub {
    > my($channel, $buffer) = @_;
    > my $str = $buffer->bytes;
    >
    >
    > if ($str eq "Enter login password: ") {
    > $channel->send_data($old_password);
    > }
    >
    >
    > elsif ($str eq "New password: ") {
    > $channel->send_data($new_password);
    > }
    >
    > elsif ($str eq "Re-enter new password: ") {
    > $channel->send_data($new_password);
    > }
    > });
    > $ssh->cmd('passwd');
    > ==========================================
    >
    > After running the program, my password didnt changed I was still able to
    > connect using the old password.
    >
    > Does anybody has an idea what's missing or wrong with my script?
    >
    > Thanks.
    >
    > Jaws
    >




  2. Default Net::SSH::Perl

    Hi all,

    Below is my script that will be used to connect to a remote host and
    change my password automatically:

    ===========================================
    #!/usr/bin/perl


    use strict();
    use Net::SSH::Perl;


    $user="jaws";
    $pass="password";
    $host="xxx.xxx.xxx.xxx";
    $old_password="password";
    $new_password="newpass";


    my $ssh = Net::SSH::Perl->new($host,debug=>1,use_pty=>1);
    $ssh->login($user, $pass);


    $ssh->register_handler("stderr", sub {
    my($channel, $buffer) = @_;
    my $str = $buffer->bytes;


    if ($str eq "Enter login password: ") {
    $channel->send_data($old_password);
    }


    elsif ($str eq "New password: ") {
    $channel->send_data($new_password);
    }

    elsif ($str eq "Re-enter new password: ") {
    $channel->send_data($new_password);
    }
    });
    $ssh->cmd('passwd');
    ==========================================

    After running the program, my password didnt changed I was still able to
    connect using the old password.

    Does anybody has an idea what's missing or wrong with my script?

    Thanks.

    Jaws


  3. Default Re: Net::SSH::Perl

    On Fri, 05 Sep 2003 10:07:49 -0800
    blob <jaws@skyinet.net> wrote:
    > Hi all,
    >
    > Below is my script that will be used to connect to a remote host and
    >
    > change my password automatically:

    <sniped for brevity>
    >
    > After running the program, my password didnt changed I was still
    > able to connect using the old password.
    >
    > Does anybody has an idea what's missing or wrong with my script?


    Just a suggestion - you may wish to use one of the Expect modules for
    what you're doing. Expect is, IMHO, better suited for this task. And
    in true Perl fashion, there is a module to interact with Expect

    HTH

    --
    Jim

    Copyright notice: all code written by the author in this post is
    released under the GPL. http://www.gnu.org/licenses/gpl.txt
    for more information.

    a fortune quote ...
    Hlade's Law: If you have a difficult task, give it to a lazy
    person -- they will find an easier way to do it.

  4. Default Re: Net::SSH::Perl

    On Fri, 05 Sep 2003 10:07:49 -0800, blob wrote:

    > Hi all,
    >
    > Below is my script that will be used to connect to a remote host and
    > change my password automatically:
    >
    > ===========================================
    > #!/usr/bin/perl
    >
    >
    > use strict();
    > use Net::SSH::Perl;
    >
    >
    > $user="jaws";
    > $pass="password";
    > $host="xxx.xxx.xxx.xxx";
    > $old_password="password";
    > $new_password="newpass";
    >
    >
    > my $ssh = Net::SSH::Perl->new($host,debug=>1,use_pty=>1);
    > $ssh->login($user, $pass);
    >
    >
    > $ssh->register_handler("stderr", sub {
    > my($channel, $buffer) = @_;
    > my $str = $buffer->bytes;
    >
    >
    > if ($str eq "Enter login password: ") {
    > $channel->send_data($old_password);
    > }
    >
    >
    > elsif ($str eq "New password: ") {
    > $channel->send_data($new_password);
    > }
    >
    > elsif ($str eq "Re-enter new password: ") {
    > $channel->send_data($new_password);
    > }
    > });
    > $ssh->cmd('passwd');
    > ==========================================
    >
    > After running the program, my password didnt changed I was still able to
    > connect using the old password.
    >
    > Does anybody has an idea what's missing or wrong with my script?
    >
    > Thanks.
    >
    > Jaws


    Instead of waiting for the exact string, why not use regular expresions,
    which might eliminate typo's. Something like:

    if ($str =~ /enter\s+login\s+password/i ) {
    $channel->send_data($old_password);
    }


    elsif ($str =~ /new\s+password/i ) {
    $channel->send_data($new_password);
    }

    elsif ($str =~ /re.enter\s+new\s+password/i ) {
    $channel->send_data($new_password);
    }

    Cheers

    --
    Nico Coetzee

    http://www.itfirms.co.za/
    http://za.pm.org/
    http://forums.databasejournal.com/

    To the systems programmer, users and applications serve only to provide a
    test load.


+ Reply to Thread

Similar Threads

  1. Replies: 0
    Last Post: 11-22-2007, 03:03 AM
  2. Replies: 0
    Last Post: 09-06-2007, 02:03 PM
  3. Replies: 0
    Last Post: 06-27-2007, 08:03 AM
  4. Replies: 0
    Last Post: 04-18-2007, 02:03 AM
  5. Perl Help - Windows Perl script accessing a Unix perl Script
    By Application Development in forum Perl
    Replies: 3
    Last Post: 09-29-2003, 09:57 PM