运行 与 GNU 并行的 AWS 作业 - 如何包含私钥?

Running AWS jobs with GNU parallel - how to include private key?

Amazon AWS EC2 上的一个 运行 并行作业如何与 gnu 并行。我需要包含私钥才能登录,即这样的事情不起作用:

sh script.sh | parallel --sshlogin a@b.com -i "key.pem"

GNU Parallel 至少有 3 种方法:

seq 10 | parallel --sshlogin 'ssh -i "key.pem" a@b.com' echo 

seq 10 | PARALLLEL_SSH='ssh -i "key.pem"' parallel --sshlogin a@b.com echo 

seq 10 | parallel --ssh 'ssh -i "key.pem"' --sshlogin a@b.com echo 

最重要的是,您可能可以使用 .ssh/config (man ssh_config),因此您可以使用相同的密钥访问 *.amazon.com.

你也应该学习ssh-agent。有了它,您可以添加多个键。尽管这仅在与控制终端的会话中有用(例如,对 cron 作业无用)。