allow user+passwd to be given via STDIN
This commit is contained in:
parent
a116aa4b31
commit
1aafdb11dc
|
@ -194,13 +194,27 @@ else {
|
|||
$remotepath = shift @ARGV;
|
||||
use Net::SSH::Perl;
|
||||
if ($ARGV[2] eq "*test") { print "Net::SSH::Perl successfully installed.\n"; }
|
||||
if (($ARGV[0] eq "-") and ($ARGV[1] eq "-")) { # user+passwd are in STDIN
|
||||
$username = <STDIN>;
|
||||
chop($username);
|
||||
@username = split (',', $username);
|
||||
$username[0] =~ s/uid=//;
|
||||
$username[0] =~ s/cn=//;
|
||||
$username = $username[0];
|
||||
$password = <STDIN>;
|
||||
chop($password);
|
||||
}
|
||||
else {
|
||||
@username = split (',', $ARGV[0]);
|
||||
$username[0] =~ s/uid=//;
|
||||
$username[0] =~ s/cn=//;
|
||||
$username = $username[0];
|
||||
$password = $ARGV[1];
|
||||
}
|
||||
my $ssh = Net::SSH::Perl->new($hostname, options=>[
|
||||
"UserKnownHostsFile /dev/null"],
|
||||
protocol => "2,1" );
|
||||
$ssh->login($username[0], $password);
|
||||
$ssh->login($username, $password);
|
||||
# Put all transfered lines in one string
|
||||
if ($ARGV[2] ne "*test") {
|
||||
$string = do {local $/;<STDIN>};
|
||||
|
|
Loading…
Reference in New Issue