GNU Parallel 不使用远程执行做任何事情

GNU Parallel does not do anything using remote execution

我只需要一个提示。我正在尝试 运行 GNU 并行教程 (GNU Parallel tutorial) 中的以下命令:

parallel -S $SERVER1,$SERVER2 echo ::: running on more hosts

我用网络中的已知主机替换了 $SERVERX。如果我执行命令,系统会要求我输入每台服务器的密码,此后什么也没有发生。光标整天闪烁,我没有收到任何错误消息。 我尝试了不同的服务器,结果相同。

详细模式显示:

ssh $SERVER1 -- exec perl -e @GNU_Parallel\=split/_/,\"use_IPC::Open3\;_use_MIME::Base64\"\;eval\"@GNU_Parallel\"\;\$SIG\{CHLD\}\=\"IGNORE\"\;my\$zip\=\(grep\{-x\$_\}\"/usr/local/bin/bzip2\"\)\[0\]\|\|\"bzip2\"\;open3\(\$in,\$out,\"\>\&STDERR\",\$zip,\"-dc\"\)\;if\(my\$perlpid\=fork\)\{close\$in\;\$eval\=join\"\",\<\$out\>\;close\$out\;\}else\{close\$out\;print\$in\(decode_base64\(join\"\",@ARGV\)\)\;close\$in\;exit\;\}wait\;eval\$eval\; and Followed by random characters

类似的东西出现了四次。我猜是因为我开始的四份工作。我很乐意提供帮助。

I think you are expected to set up passwordless ssh logins to all the remotes so GNU Parallel can get into them. – Mark Setchell

这是正确的建议。使用 ssh-keygenssh-copy-id 设置密钥身份验证完成了工作!非常感谢,现在可以了。教程中的简短提示会很棒。