Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^3: safely passing args through ssh

by ikegami (Patriarch)
on Jul 25, 2011 at 18:19 UTC ( [id://916575]=note: print w/replies, xml ) Need Help??


in reply to Re^2: safely passing args through ssh
in thread safely passing args through ssh

That doesn't look anything like what I wrote. I showed how to contruct a shell command to pass to ssh but you passed 5 arguments after the target, none of which a shell command.

If you call ssh twice, you have two shell commands to build.

sub text_to_shell_lit(_) { return $_[0] if $_[0] =~ /^[a-zA-Z0-9_\-]+\z/; my $s = $_[0]; $s =~ s/'/'\\''/g; return "'$s'"; } my $very_remote_cmd = join ' ', map text_to_shell_lit, argcount => ( 'a b c' ); my $remote_cmd = join ' ', map text_to_shell_lit, ssh => ( '--', $very_remote_target, $very_remote_cmd ); backticks(ssh => ( '--', $remote_target, $remote_cmd ));

Replies are listed 'Best First'.
Re^4: safely passing args through ssh
by perl5ever (Pilgrim) on Jul 25, 2011 at 23:02 UTC
    Well, then I guess you didn't solve the problem that I stated.

      The problem you stated: "what's a good way of encoding ... so that it will survive an ssh call?"

      Where "D" is the shell's literal parser and "s" is an arbitrary shell command, you want a function "E" that exhibits the following behaviour:

      s = D(E(s)) = D(D(E(s))) = D(D(D(E(s)))) etc

      but there is none.

        Why are you ignoring the entire section of my original post starting with "To be specific about the problem ..."???

        I'm not looking to encode an arbitrary shell command. Given an $array that will invoke a perl interpreter via open(..., "-|", @$array) I am looking for ways to safely encode a perl script that will be passed to the interpreter via the command line.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://916575]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2024-04-24 07:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found