[ET Trac] [Einstein Toolkit] #545: Use ssh ProxyCommand instead of multiple ssh commands
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Fri Sep 2 23:17:58 CDT 2011
#545: Use ssh ProxyCommand instead of multiple ssh commands
--------------------------+-------------------------------------------------
Reporter: eschnett | Owner: eschnett
Type: enhancement | Status: review
Priority: major | Milestone:
Component: SimFactory | Version:
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment (by eschnett):
All quoting in Simfactory (where a shell is involved) should be done via
QuoteSafe. (This may currently not always be the case.) If there is a
string surrounded by single quotes, then either someone "just added" them
(and should have used QuoteSafe instead), or the were added via QuoteSafe,
and then they don't need to be quoted again.
No, I didn't try it -- I trust you when you say it works for you. However,
we need to define what corner cases we need to be treated correctly (e.g.
multiple trampolines, having a remote source base directory with a space
in the name, etc.). We currently don't need multiple trampolines, so we
may want to drop them. Out of curiosity: How would a recursive
trampolining command with ProxyCommand look like? Would the nc command be
wrapped by an ssh command with another ProxyCommand?
The basic quoting rule is: whenever a command is constructed that will be
passed to a shell, then each argument (except trivial ones) need to be
quoted. For example, 'nc %h %p ...' is a command, so %h and %p should be
quoted; however, if we assume that hostname and port number are
reasonable, we can skip this. The whole nc command is an option to the ssh
command, so it then needs to be quoted as a whole:
sshopts += '-o ProxyCommand=%s' % QuoteSafe(tsshcmd)
An empty string, when quoted, should not remain an empty string, it needs
to become two consecutive quotes, so that (after passing it to a shell) it
becomes an empty string again.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/545#comment:4>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list