Не удалось подтвердить ключ хоста в кластере mpich на основе Google Compute Engine - PullRequest
0 голосов
/ 02 января 2019

TLDR:

У меня есть 2 google compute engine экземпляра, я установил mpich на обоих. Когда я пытаюсь запустить образец, я получаю Host key verification failed.

Подробная версия:

Я следовал этому руководству, чтобы выполнить эту задачу: http://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/.

У меня 2 google compute engine vms с ubuntu 14.04 (кстати, облачная учетная запись Google является пробной). Я скачал эту версию mpich в обоих случаях: http://www.mpich.org/static/downloads/3.3rc1 /mpich-3.3rc1.tar.gz и установил ее, выполнив следующие действия:

./configure --disable-fortran
sudo make
sudo make install

Так выглядит файл /etc/hosts на узле master:

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
169.254.169.254 metadata.google.internal metadata
10.128.0.3 client
10.128.0.2 master
10.128.0.2 linux1.us-central1-c.c.ultimate-triode-161918.internal linux
1  # Added by Google
169.254.169.254 metadata.google.internal  # Added by Google

Вот так выглядит файл /etc/hosts на узле client:

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
169.254.169.254 metadata.google.internal metadata
10.128.0.2 master
10.128.0.3 client
10.128.0.3 linux2.us-central1-c.c.ultimate-triode-161918.internal linux
2  # Added by Google
169.254.169.254 metadata.google.internal  # Added by Google

Остальные шаги включали добавление пользователя с именем mpiuser на обоих узлах и настройку ssh-аутентификации без пароля между узлами. И настройка cloud общего каталога между узлами.

Конфигурация работала до этого момента. Я скачал этот файл https://raw.githubusercontent.com/pmodels/mpich/master/examples/cpi.c в /home/mpiuser/cloud/mpi_sample.c, скомпилировал его так:

mpicc -o mpi_sample mpi_sample.c

и выдал эту команду на главном узле при входе в систему как mpiuser:

 mpirun -np 2 -hosts client,master ./mpi_sample

и я получил эту ошибку:

Host key verification failed.

Что не так? Я пытался решить эту проблему более двух дней, но не могу найти правильное решение.

enter image description here

1 Ответ

0 голосов
/ 13 января 2019

Оказалось, что мой пароль меньше ssh не был настроен должным образом.Я создал 2 новых экземпляра и сделал следующее, чтобы меньше получить рабочий пароль и, таким образом, получить рабочую версию этого образца.Следующие шаги выполнялись для ubuntu server 18.04.

Сначала, по умолчанию для экземпляров в облаке Google отключен параметр PasswordAuthentication.На сервере client выполните:

sudo vim /etc/ssh/sshd_config

и измените PasswordAuthentication no на PasswordAuthentication yes.Затем

sudo systemctl restart ssh

Сгенерируйте ключ ssh с сервера master с помощью:

ssh-keygen -t rsa -b 4096 -C "user.mail@server.com"

Скопируйте сгенерированный ключ ssh с мастера сервер для клиента

ssh-copy-id client

Теперь вы получаете полнофункциональный пароль без SSH от master до client .Однако mpich все еще не удалось.

Дополнительные шаги, которые я сделал, - скопировать открытый ключ в файл ~/.ssh/authorized_keys, как на master , так и client .Поэтому выполните эту команду с обоих серверов:

sudo cat .ssh/id_rsa.pub >> .ssh/authorized_keys

Затем убедитесь, что файлы /etc/ssh/sshd_config с обоих клиентов и серверов имеют следующие конфигурации:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Перезапустите службу ssh с обоих клиента и master

sudo systemctl restart ssh

И все, mpich теперь работает гладко.

...