我只需要一个提示。我正在尝试从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 \\“ \)\\;如果\(my \\ $ perlpid \\ = fork \)\ {close \\ $ in \\; \\ $ eval \\ = join \\“ \\”,\\ \\; close \\ $ out \\; \} else \ {close \\ $ out \\; print \ \ $ in \(decode_base64 \(join \\“ \\”,@ ARGV \)\)\\; close \\ $ in \\; exit \\; \} wait \\; eval \\ $ eval \\ ;和后跟随机字符
类似的事物出现了四次。我想我开始的四个工作。我很乐意提供帮助。
我认为您应该为所有远程设置无密码的ssh登录,以便GNU Parallel可以进入它们。 – Mark Setchell
这是正确的建议。使用ssh-keygen
和ssh-copy-id
设置密钥认证就可以了!现在非常感谢您的支持。本教程中的简短提示会很棒。