使用“并行”在远程主机上执行命令 - 没有返回任何内容,登录失败

onk*_*ami 2 password ssh remote gnu-parallel

我正在尝试执行简单的“并行”命令

parallel -S server1,server2,server3 echo "Number {}: Running on \`hostname\`" ::: 1 2 3
Run Code Online (Sandbox Code Playgroud)

它要求我提供三台服务器的密码,但什么也没发生。通常 ssh 连接到这些服务器工作正常。

当我登录到其中一台服务器时,系统警告我登录“notty”失败。

如何才能实现正确的执行呢?

alp*_*pha 5

“它要求我提供三台服务器的密码”

查看GNU Parallel 的文档:

“sshlogin 不得要求密码”

由于您使用-S(--sshlogin) 标志,这是一个问题。

所以你会被要求输入密码,这意味着 GNU Parallel 将无法运行。

您需要设置 ssh 密钥以确保可以进行无密码连接。

您可以按照此链接中的步骤来设置密钥。

你在帖子中确实说过普通的 ssh 工作正常。所以您可能已将 ssh 设置为要求输入密码。authorized_keys如果是这种情况,您可以使用现有密钥并将其添加到文件中。