SSH / OpenMPI: Permissão negada com mpirun mas boa com ssh

2

Estou tentando configurar um cluster de quatro nós (todos executando o Fedora 22) com o OpenMPI.

No nó principal, criei uma chave sem senha (~ / .ssh / id_dsa) e copiei ~ / .ssh / id_dsa.pub para cada um dos três nós escravos '~ / .ssh / authorized_keys. Assim, a partir do nó mestre, posso executar ssh slave1 , ssh slave2 ou ssh slave3 e entrar com êxito no nó correspondente, sem precisar de uma senha. O mesmo vale para ssh master .

No entanto, tenho problemas de permissão quando tento usar mpirun . Aqui está o comando que eu corro:

/usr/lib64/openmpi/bin/mpirun -np 32 --hostfile .mpi_hostfile ./testprogram

e aqui está o primeiro bit da saída:

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
ORTE was unable to reliably start one or more daemons.

Quando subseqüentemente executo ssh slave3 , vejo a mensagem "Houve duas tentativas de login malsucedidas desde o último login bem-sucedido". Portanto, parece que a autenticação ssh que o mpirun está tentando fazer está falhando por algum motivo.

Alguma idéia de por que posso fazer a autenticação baseada em senhas e sem senhas com ssh , mas não com mpirun ?

Para o registro, aqui está o conteúdo de .mpi_hostfile :

# Host file for OpenMPI

# Master node, slots = num cores
localhost slots=8

# Slaves
slave1 slots=8
slave2 slots=8
slave3 slots=8
    
por davewy 07.09.2015 / 23:18

1 resposta

2

Isso é provável porque o Open MPI usa como padrão um esquema de inicialização baseado em árvore. Por exemplo, ssh da máquina onde você invoca mpirun para slave1, e então ssh de slave1 para slave2, ... etc.

Veja link e link para mais detalhes.

    
por 08.09.2015 / 16:37

Tags