I'm trying to use ssh's proxy (-J flag) with GNU parallel. The -J flag on ssh allows multiple hosts to be specified with commas between them.

   larryp-MBP:~ larry$ seq 48 | parallel -j0 --sshlogin '24/ssh 
-JINTHOST1,INHOST2 TARGETHOST' echo {}
   parallel: Warning: ssh to INTHOST2 TARGETHOST only allows for 0 simultaneous 
logins.
   parallel: Warning: You may raise this by changing
   parallel: Warning: /etc/ssh/sshd_config:MaxStartups and MaxSessions on 
INTHOST2 TARGETHOST.
   parallel: Warning: You can also try --sshdelay 0.1
   parallel: Warning: Using only -1 connections to avoid race conditions.
   parallel: Warning: ssh to ssh -JINTHOST1 only allows for 0 simultaneous 
logins.
   parallel: Warning: You may raise this by changing
   parallel: Warning: /etc/ssh/sshd_config:MaxStartups and MaxSessions on ssh 
-JINTHOST1.
   parallel: Warning: You can also try --sshdelay 0.1
   parallel: Warning: Using only -1 connections to avoid race conditions.
   parallel: Error: Cannot run any jobs.

If there's only one proxy host everything works as expected.

Also, in attempting to get around that limitation:

   larryp-MBP:~ larry$ seq 48 | parallel -j0 --sshlogin '24/ssh 
-JINTHOST1\,INTHOST2 TARGETHOST' echo {}
   parallel: This should not happen. You have found a bug. Please follow
   https://www.gnu.org/software/parallel/man.html#reporting-bugs

   Include this in the report:
   * The version number: 20220530
   * The bugid: SSHLogin parser failed on '88/ssh -JINTHOST1\' => '\'
   * The command line being run
   * The files being read (put the files on a webserver if they are big)

   If you get the error on smaller/fewer files, please include those instead.

See similar results with “-j1” flag to parallel, resulting in command not found:

   larryp-MBP:~ larry$ seq 4 | parallel -j1 --sshlogin '2/ssh -J 
INTHOST1,INTHOST2 TARGETHOST' echo {}
   /Users/larry/bin/bash: line 1: INTHOST2: command not found
   /Users/larry/bin/bash: line 1: INTHOST2: command not found
   /Users/larry/bin/bash: line 1: INTHOST2: command not found
   kex_exchange_identification: Connection closed by remote host
   Connection closed by UNKNOWN port 65535

Thanks,
· Larry

Reply via email to