Несколько проблем пароля хостов с помощью mpirun

Таким образом, я запускаю параллельную программу C++ путем отправки заданий от машины Ubuntu до удаленных хостов (также Ubuntu), командная строка, которую я использую на терминале, является чем-то как:

mpirun -np 4 --host host1,host2 program.exe

и затем следующая строка на терминале запрашивает пароль на оба хоста одновременно:

noob@host1's password: noob@host2's password:

И это вызывает меня некоторые проблемы. Существует ли способ вынудить терминал запросить мои пароли один за другим?

3
задан 11 October 2014 в 06:32

2 ответа

Я не знаю, существует ли способ вынудить терминал спросить последовательно, но в любом случае, предполагая, что Вы соединяетесь до ssh, лучшее решение состояло бы в том, чтобы настроить passwordless доступ.

  1. Создают общественность ssh, включают Вашу машину:

    ssh-keygen -t rsa
    

    Вас попросят пароля, который Вас попросят ввести первый время, Вы выполняете любую команду ssh после каждого входа в систему. Это означает, что для [приблизительно 114] или scp команды, необходимо будет только ввести его однажды (не однажды на хост, однажды на сессию входа в систему). Тем не менее, можно оставить его пустым для имения полностью passwordless доступа.

  2. , Как только Вы генерировали свой открытый ключ, скопируйте его в удаленные компьютеры:

    ssh-copy-id -i ~/.ssh/id_rsa.pub noob@host1
    ssh-copy-id -i ~/.ssh/id_rsa.pub noob@host2
    

    , Если необходимо сделать это для многих хостов, сделайте файл имен узлов или дюйм/с (один на строку) и работайте, копируют их всех использование цикла оболочки:

    while read ip; do 
         ssh-copy-id -i ~/.ssh/id_rsa.pub noob@$ip 
    done < IPlistfile.txt
    

необходимо будет вручную ввести пароль для каждого IP для этого шага, но как только Вы сделали это, необходимо быть в состоянии запустить задания без пароля, который требуют.

, Если это не работает, нам будет нужно больше деталей о том, как точно эта программа соединяется с удаленными хостами.

2
ответ дан 18 November 2019 в 05:00

При использовании MPICH1, можно получить справку из этого метода.

Вместо того, чтобы писать host1, host2 после-np 4 можно добавить хосты" machines.linux" файл в этом месте назначения:

home/user/mpich1/share

*if Вы не устанавливали mpich в корневом каталоге, относитесь туда, где Вы установили mpich

, и откройте" machines.linux" файл. Ясное содержание файла и информация о типе хостов с количеством ядер Вы хотите:

host1:4  
host2:2
host3:2

Теперь Вы используете mpirun просто:

mpirun -np 4 program.exe
0
ответ дан 18 November 2019 в 05:00

Другие вопросы по тегам:

Похожие вопросы: