mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-21 21:47:54 +00:00
parallel: Fixed: bug #66317: SSHLogin parsing fails.
This commit is contained in:
parent
0a6ae96002
commit
db33c11b05
126
src/parallel
126
src/parallel
|
@ -2888,7 +2888,7 @@ sub check_invalid_option_combinations() {
|
||||||
|
|
||||||
sub init_globals() {
|
sub init_globals() {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20240922;
|
$Global::version = 20241017;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$::name = "GNU Parallel";
|
$::name = "GNU Parallel";
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
|
@ -7376,26 +7376,90 @@ sub new($$) {
|
||||||
my $local;
|
my $local;
|
||||||
my $string;
|
my $string;
|
||||||
# SSHLogins can have these formats:
|
# SSHLogins can have these formats:
|
||||||
# @grp+grp/ncpu//usr/bin/ssh user@server
|
# @grp1+grp2/ => use only servers in @grp1+grp2
|
||||||
# ncpu//usr/bin/ssh user@server
|
# [@grp+grp/][ncpu/][ssh command ][[user][:password]@][host[:port]]
|
||||||
# /usr/bin/ssh user@server
|
#
|
||||||
# user@server
|
# Here most combinations are generated:
|
||||||
# ncpu/user@server
|
# grp=grp1+grp2
|
||||||
# @grp+grp/user@server
|
# ncpu=4
|
||||||
# above with: user:password@server
|
# ssh=/usr/bin/ssh
|
||||||
# above with: user@server:port
|
# user=user
|
||||||
# So:
|
# pass=pass
|
||||||
# [@grp+grp][ncpu/][ssh command ][[user][:password]@][server[:port]]
|
# host=host
|
||||||
|
# port=port
|
||||||
|
# parallel -k echo {1}{2}{3}{4}{5}{=1'$_ = ($arg[4]||$arg[5]) ? "\@" : ""' =}$host{6} ::: '' @$grp/ ::: '' $ncpu/ ::: '' $ssh' ' ::: '' $user ::: '' :$pass ::: '' :$port
|
||||||
|
# host
|
||||||
|
# host:port
|
||||||
|
# :pass@host
|
||||||
|
# :pass@host:port
|
||||||
|
# user@host
|
||||||
|
# user@host:port
|
||||||
|
# user:pass@host
|
||||||
|
# user:pass@host:port
|
||||||
|
# /usr/bin/ssh host
|
||||||
|
# /usr/bin/ssh host:port
|
||||||
|
# /usr/bin/ssh :pass@host
|
||||||
|
# /usr/bin/ssh :pass@host:port
|
||||||
|
# /usr/bin/ssh user@host
|
||||||
|
# /usr/bin/ssh user@host:port
|
||||||
|
# /usr/bin/ssh user:pass@host
|
||||||
|
# /usr/bin/ssh user:pass@host:port
|
||||||
|
# ncpu/host
|
||||||
|
# ncpu/host:port
|
||||||
|
# ncpu/:pass@host
|
||||||
|
# ncpu/:pass@host:port
|
||||||
|
# ncpu/user@host
|
||||||
|
# ncpu/user@host:port
|
||||||
|
# ncpu/user:pass@host
|
||||||
|
# ncpu/user:pass@host:port
|
||||||
|
# ncpu//usr/bin/ssh host
|
||||||
|
# ncpu//usr/bin/ssh host:port
|
||||||
|
# ncpu//usr/bin/ssh :pass@host
|
||||||
|
# ncpu//usr/bin/ssh :pass@host:port
|
||||||
|
# ncpu//usr/bin/ssh user@host
|
||||||
|
# ncpu//usr/bin/ssh user@host:port
|
||||||
|
# ncpu//usr/bin/ssh user:pass@host
|
||||||
|
# ncpu//usr/bin/ssh user:pass@host:port
|
||||||
|
# @grp1+grp2/host
|
||||||
|
# @grp1+grp2/host:port
|
||||||
|
# @grp1+grp2/:pass@host
|
||||||
|
# @grp1+grp2/:pass@host:port
|
||||||
|
# @grp1+grp2/user@host
|
||||||
|
# @grp1+grp2/user@host:port
|
||||||
|
# @grp1+grp2/user:pass@host
|
||||||
|
# @grp1+grp2/user:pass@host:port
|
||||||
|
# @grp1+grp2//usr/bin/ssh host
|
||||||
|
# @grp1+grp2//usr/bin/ssh host:port
|
||||||
|
# @grp1+grp2//usr/bin/ssh :pass@host
|
||||||
|
# @grp1+grp2//usr/bin/ssh :pass@host:port
|
||||||
|
# @grp1+grp2//usr/bin/ssh user@host
|
||||||
|
# @grp1+grp2//usr/bin/ssh user@host:port
|
||||||
|
# @grp1+grp2//usr/bin/ssh user:pass@host
|
||||||
|
# @grp1+grp2//usr/bin/ssh user:pass@host:port
|
||||||
|
# @grp1+grp2/ncpu/host
|
||||||
|
# @grp1+grp2/ncpu/host:port
|
||||||
|
# @grp1+grp2/ncpu/:pass@host
|
||||||
|
# @grp1+grp2/ncpu/:pass@host:port
|
||||||
|
# @grp1+grp2/ncpu/user@host
|
||||||
|
# @grp1+grp2/ncpu/user@host:port
|
||||||
|
# @grp1+grp2/ncpu/user:pass@host
|
||||||
|
# @grp1+grp2/ncpu/user:pass@host:port
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh host
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh host:port
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh :pass@host
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh :pass@host:port
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh user@host
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh user@host:port
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh user:pass@host
|
||||||
|
# @grp1+grp2/ncpu//usr/bin/ssh user:pass@host:port
|
||||||
|
|
||||||
# [@grp+grp]/ncpu//usr/bin/ssh user:pass@server:port
|
# [@grp+grp/][ncpu/][ssh command ][[user][:password]@][host[:port]]
|
||||||
if($s =~ s:^\@([^/]+)/?::) {
|
if($s =~ s:^\@([^/]+)/::) {
|
||||||
# Look for SSHLogin hostgroups
|
# Look for SSHLogin hostgroups
|
||||||
%hostgroups = map { $_ => 1 } split(/\+|,/, $1);
|
%hostgroups = map { $_ => 1 } split(/\+|,/, $1);
|
||||||
}
|
}
|
||||||
# An SSHLogin is always in the hostgroup of its "numcpu/host"
|
|
||||||
$hostgroups{$s} = 1;
|
|
||||||
|
|
||||||
# [ncpu/]/usr/bin/ssh user:pass@server:port
|
# [ncpu/][ssh command ][[user][:password]@][host[:port]]
|
||||||
if ($s =~ s:^(\d+)/::) { $ncpus = $1; }
|
if ($s =~ s:^(\d+)/::) { $ncpus = $1; }
|
||||||
|
|
||||||
# Why disallow space in password?
|
# Why disallow space in password?
|
||||||
|
@ -7407,11 +7471,13 @@ sub new($$) {
|
||||||
# cmd 'C:/bin/ssh' user 'user' with password 'C:/bin/ssh'
|
# cmd 'C:/bin/ssh' user 'user' with password 'C:/bin/ssh'
|
||||||
# This is impossible to determine.
|
# This is impossible to determine.
|
||||||
# With space forbidden in password it uniquely parses as the 2nd.
|
# With space forbidden in password it uniquely parses as the 2nd.
|
||||||
# [/usr/bin/ssh ]user:pass@server:port
|
# [ssh command ][[user][:password]@][host[:port]]
|
||||||
if($s =~ s/^(.*) //) { $sshcommand = $1; }
|
if($s =~ s/^(.*) //) { $sshcommand = $1; }
|
||||||
|
|
||||||
# [user:pass@]server:port
|
# [[user][:password]@][host[:port]]
|
||||||
if($s =~ s/^(.+)@//) {
|
# An SSHLogin is always in the hostgroup of its "user:pass@host:port"
|
||||||
|
$hostgroups{$s} = 1;
|
||||||
|
if($s =~ s/^(.*)@//) {
|
||||||
my $userpw = $1;
|
my $userpw = $1;
|
||||||
# user[:pass]
|
# user[:pass]
|
||||||
if($userpw =~ s/:(.*)//) {
|
if($userpw =~ s/:(.*)//) {
|
||||||
|
@ -7422,9 +7488,25 @@ sub new($$) {
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
# This might be empty - that is OK
|
||||||
$user = $userpw;
|
$user = $userpw;
|
||||||
}
|
}
|
||||||
# [server]:port
|
# [host[:port]]
|
||||||
|
# host can have these formats:
|
||||||
|
# hostname (: as local is dealt with later)
|
||||||
|
# IPv4 i.p.n.o
|
||||||
|
# with port
|
||||||
|
# * :22
|
||||||
|
# * :ssh
|
||||||
|
# IPv6:
|
||||||
|
# * \[b11010000011101]
|
||||||
|
# * \[o64072/14]
|
||||||
|
# * \[xd074/14]
|
||||||
|
# * \[208.116.0.0/14]
|
||||||
|
# with port
|
||||||
|
# * .22
|
||||||
|
# * p22
|
||||||
|
# * #22
|
||||||
if(not $s =~ /:.*:/
|
if(not $s =~ /:.*:/
|
||||||
and
|
and
|
||||||
$s =~ s/^([-a-z0-9._]+)//i) {
|
$s =~ s/^([-a-z0-9._]+)//i) {
|
||||||
|
@ -7446,7 +7528,6 @@ sub new($$) {
|
||||||
# 2001:db8::1 port 80 - not supported
|
# 2001:db8::1 port 80 - not supported
|
||||||
$host = $1;
|
$host = $1;
|
||||||
}
|
}
|
||||||
|
|
||||||
# [:port]
|
# [:port]
|
||||||
if($s =~ s/^:(\w+)//i) {
|
if($s =~ s/^:(\w+)//i) {
|
||||||
$port = $1;
|
$port = $1;
|
||||||
|
@ -7468,10 +7549,11 @@ sub new($$) {
|
||||||
($user && $user."@").
|
($user && $user."@").
|
||||||
($host && $host).
|
($host && $host).
|
||||||
($port && ":$port");
|
($port && ":$port");
|
||||||
|
my $userpassword = ($user && $user).($password && ":".$password);
|
||||||
my $pwstring =
|
my $pwstring =
|
||||||
# Only include the sshcommand in $string if it is set by user
|
# Only include the sshcommand in $string if it is set by user
|
||||||
($sshcommand && $sshcommand." ").
|
($sshcommand && $sshcommand." ").
|
||||||
($user && $user. ($password && ":".$password)."@").
|
($userpassword && $userpassword."@").
|
||||||
($host && $host).
|
($host && $host).
|
||||||
($port && ":$port");
|
($port && ":$port");
|
||||||
if($host eq ':') {
|
if($host eq ':') {
|
||||||
|
|
|
@ -3190,11 +3190,11 @@ See also: TIME POSTFIXES B<--sshlogin> B<--delay>
|
||||||
|
|
||||||
=item B<--sshlogin> I<[@hostgroups/][ncpus/][[user][:[password]]@]host[:port][,...]>
|
=item B<--sshlogin> I<[@hostgroups/][ncpus/][[user][:[password]]@]host[:port][,...]>
|
||||||
|
|
||||||
=item B<--sshlogin> I<@hostgroup>
|
=item B<--sshlogin> I<@hostgroup>/
|
||||||
|
|
||||||
=item B<-S> I<[@hostgroups/][ncpus/][ssh command][[user][:[password]]@]host[:port][,...]>
|
=item B<-S> I<[@hostgroups/][ncpus/][ssh command][[user][:[password]]@]host[:port][,...]>
|
||||||
|
|
||||||
=item B<-S> I<@hostgroup>
|
=item B<-S> I<@hostgroup>/
|
||||||
|
|
||||||
Distribute jobs to remote computers.
|
Distribute jobs to remote computers.
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,43 @@
|
||||||
# Each should be taking 30-100s and be possible to run in parallel
|
# Each should be taking 30-100s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
|
|
||||||
|
par_sshlogin_parsing() {
|
||||||
|
echo '### Generate sshlogins to test parsing'
|
||||||
|
sudo sshd -p 22222
|
||||||
|
|
||||||
|
gen_sshlogin() {
|
||||||
|
grp=grp1+grp2
|
||||||
|
ncpu=4
|
||||||
|
ssh=/usr/bin/ssh
|
||||||
|
user=parallel
|
||||||
|
userpass=withpassword
|
||||||
|
pass="$withpassword"
|
||||||
|
host=lo
|
||||||
|
port=22222
|
||||||
|
# no pass
|
||||||
|
parallel -k echo \
|
||||||
|
{1}{2}{3}{4}{5}{=1'$_ = ($arg[4]||$arg[5]) ? "\@" : ""' =}$host{6} \
|
||||||
|
::: '' @$grp/ ::: '' $ncpu/ ::: '' $ssh' ' \
|
||||||
|
::: '' $user ::: '' ::: '' :$port
|
||||||
|
# pass
|
||||||
|
parallel -k echo \
|
||||||
|
{1}{2}{3}{4}{5}{=1'$_ = ($arg[4]||$arg[5]) ? "\@" : ""' =}$host{6} \
|
||||||
|
::: '' @$grp/ ::: '' $ncpu/ ::: '' $ssh' ' \
|
||||||
|
::: '' $userpass ::: :"$pass" ::: '' :$port
|
||||||
|
}
|
||||||
|
|
||||||
|
doit() {
|
||||||
|
if parallel -S "$1" {} '$SSH_CLIENT|field 3;whoami' ::: echo ; then
|
||||||
|
: echo OK
|
||||||
|
else
|
||||||
|
echo Fail
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
export -f doit
|
||||||
|
|
||||||
|
gen_sshlogin | parallel --tag --timeout 20 -k doit
|
||||||
|
}
|
||||||
|
|
||||||
par__print_in_blocks() {
|
par__print_in_blocks() {
|
||||||
echo '### bug #41565: Print happens in blocks - not after each job complete'
|
echo '### bug #41565: Print happens in blocks - not after each job complete'
|
||||||
median() { perl -e '@a=sort {$a<=>$b} <>;print $a[$#a/2]';}
|
median() { perl -e '@a=sort {$a<=>$b} <>;print $a[$#a/2]';}
|
||||||
|
|
|
@ -99,18 +99,21 @@ par_sql_CSV() {
|
||||||
}
|
}
|
||||||
|
|
||||||
par_hostgroup() {
|
par_hostgroup() {
|
||||||
echo '### --hostgroup force ncpu'
|
echo '### --hostgroup force ncpu - 2x parallel, 6x me'
|
||||||
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8} | sort -u
|
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo \
|
||||||
|
'whoami;sleep 0.4{}' ::: {1..8} | sort
|
||||||
|
|
||||||
echo '### --hostgroup two group arg'
|
echo '### --hostgroup two group arg - 2x parallel, 6x me'
|
||||||
parallel -k --sshdelay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.3{} ::: {1..8}@g1+g2 | sort
|
parallel -k --sshdelay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo \
|
||||||
|
'whoami;sleep 0.3{}' ::: {1..8}@g1+g2 | sort
|
||||||
|
|
||||||
echo '### --hostgroup one group arg'
|
echo '### --hostgroup one group arg - 8x me'
|
||||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.4{} ::: {1..8}@g2
|
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo \
|
||||||
|
'whoami;sleep 0.4{}' ::: {1..8}@g2
|
||||||
|
|
||||||
echo '### --hostgroup multiple group arg + unused group'
|
echo '### --hostgroup multiple group arg + unused group - 2x parallel, 6x me, 0x tcsh'
|
||||||
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/100/tcsh@lo whoami\;sleep 0.8{} ::: {1..8}@g1+g2 2>&1 |
|
parallel --delay 0.2 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/30/tcsh@lo \
|
||||||
sort -u | grep -v Warning
|
'whoami;sleep 0.8{}' ::: {1..8}@g1+g2 2>&1 | sort -u | grep -v Warning
|
||||||
|
|
||||||
echo '### --hostgroup two groups @'
|
echo '### --hostgroup two groups @'
|
||||||
parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2
|
parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2
|
||||||
|
@ -121,14 +124,17 @@ par_hostgroup() {
|
||||||
echo '### --hostgroup --sshlogin with @'
|
echo '### --hostgroup --sshlogin with @'
|
||||||
parallel -k --hostgroups -S parallel@lo echo ::: no_group implicit_group@parallel@lo
|
parallel -k --hostgroups -S parallel@lo echo ::: no_group implicit_group@parallel@lo
|
||||||
|
|
||||||
echo '### --hostgroup -S @group'
|
echo '### --hostgroup -S @group - bad if you get parallel@lo'
|
||||||
parallel -S @g1/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort -u
|
parallel -S @g1/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo \
|
||||||
|
'whoami;true' ::: {1..6} | sort -u
|
||||||
|
|
||||||
echo '### --hostgroup -S @group1 -Sgrp2'
|
echo '### --hostgroup -S @group1 -Sgrp2 - get all twice'
|
||||||
parallel -S @g1/ -S @g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
parallel -S @g1/ -S @g2/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo \
|
||||||
|
'whoami;sleep 1;true' ::: {1..6} | sort
|
||||||
|
|
||||||
echo '### --hostgroup -S @group1+grp2'
|
echo '### --hostgroup -S @group1+grp2 - get all twice'
|
||||||
parallel -S @g1+g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
parallel -S @g1+g2/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo \
|
||||||
|
'whoami;sleep 1;true' ::: {1..6} | sort
|
||||||
}
|
}
|
||||||
|
|
||||||
par_PARALLEL_RSYNC_OPTS() {
|
par_PARALLEL_RSYNC_OPTS() {
|
||||||
|
|
|
@ -3058,6 +3058,135 @@ par_slow_total_jobs b
|
||||||
par_slow_total_jobs 1
|
par_slow_total_jobs 1
|
||||||
par_slow_total_jobs 2
|
par_slow_total_jobs 2
|
||||||
par_slow_total_jobs parallel: Warning: Reading X arguments took longer than XX seconds.
|
par_slow_total_jobs parallel: Warning: Reading X arguments took longer than XX seconds.
|
||||||
|
par_sshlogin_parsing ### Generate sshlogins to test parsing
|
||||||
|
par_sshlogin_parsing lo 22
|
||||||
|
par_sshlogin_parsing lo tange
|
||||||
|
par_sshlogin_parsing lo:22222 22222
|
||||||
|
par_sshlogin_parsing lo:22222 tange
|
||||||
|
par_sshlogin_parsing parallel@lo 22
|
||||||
|
par_sshlogin_parsing parallel@lo parallel
|
||||||
|
par_sshlogin_parsing parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh lo 22
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh lo tange
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh lo:22222 22222
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh lo:22222 tange
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh parallel@lo 22
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh parallel@lo parallel
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing 4/lo 22
|
||||||
|
par_sshlogin_parsing 4/lo tange
|
||||||
|
par_sshlogin_parsing 4/lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4/lo:22222 tange
|
||||||
|
par_sshlogin_parsing 4/parallel@lo 22
|
||||||
|
par_sshlogin_parsing 4/parallel@lo parallel
|
||||||
|
par_sshlogin_parsing 4/parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4/parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh lo 22
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh lo tange
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh lo:22222 tange
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh parallel@lo 22
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh parallel@lo parallel
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2/lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/parallel@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/parallel@lo parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2/parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh parallel@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh parallel@lo parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/parallel@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/parallel@lo parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh parallel@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh parallel@lo parallel
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh parallel@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh parallel@lo:22222 parallel
|
||||||
|
par_sshlogin_parsing ::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing ::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing /usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
|
par_sshlogin_parsing 4/::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing 4/::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing 4/::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4/::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing 4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing 4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing 4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing 4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2/::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4/withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh ::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 tange
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo 22
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
par_test_detected_shell ### bug #42913: Dont use $SHELL but the shell currently running
|
par_test_detected_shell ### bug #42913: Dont use $SHELL but the shell currently running
|
||||||
par_test_detected_shell test_unknown_shell bash Global::shell /usr/bin/bash
|
par_test_detected_shell test_unknown_shell bash Global::shell /usr/bin/bash
|
||||||
par_test_detected_shell test_unknown_shell csh Global::shell /usr/bin/bash
|
par_test_detected_shell test_unknown_shell csh Global::shell /usr/bin/bash
|
||||||
|
|
Loading…
Reference in a new issue