如何自动设置SSH密钥的密码以在集群中运行MPI程序?

时间:2015-11-28 09:11:25

标签: linux ssh mpi ssh-keys mpich

我在一个 linux群集中有4个节点(n1.a.com,n2.a.com,n3.a.com,n4.a.com)登录节点1(n1.a.com)

现在我有一个名为" sample.out "的可执行文件。我希望在节点1 的群集上运行。

我使用密码短语设置 SSH密钥

我还在" hosts.txt "中有主机列表文件。如

n1.a.com:8
n2.a.com:8
n3.a.com:8
n4.a.com:8

所以,我正在运行以下命令:

mpiexec -n 32 -f hosts.txt ./sample.out

但是,运行以上命令,所有其他3个节点都要求密码短语

 Enter passphrase for key '/home/a/.ssh/id_dsa': Enter passphrase for key
 '/home/a/.ssh/id_dsa': Enter passphrase for key '/home/a/.ssh/id_dsa':

现在在此输入密码 无法正常工作在输入密码时反复询问同样的事情。

我的查询

  1. 有没有办法自动将密码传递给 all 节点? (可以通过脚本)
  2. 或者,我是否必须使用无密码键?
  3. 使用" 扭矩批次"是否有任何方法避免此管理员也安装了吗?
  4. 有些可能是我系统的有用信息:

    Workload Manager :- Torque Batch System
    
    >>mpich2 --version
    HYDRA build details:
        Version:                                 1.4.1p1
        Release Date:                            Thu Sep  1 13:53:02 CDT 2011
        Process Manager:                         pmi
        Launchers available:                      ssh rsh fork slurm ll lsf sge manual persist
        Topology libraries available:              hwloc plpa
        Resource management kernels available:    user slurm ll lsf sge pbs
        Checkpointing libraries available:
        Demux engines available:                  poll select
    

1 个答案:

答案 0 :(得分:0)

为了避免输入密码,需要创建一个ssh-agent,并按如下方式添加密码:

ssh-agent $SHELL 
ssh-add 

来源:MPICH 1 Documentation: Configuring with ssh