Играюсь с кластером (с крутящим моментом + open-mpi). У меня есть главный узел и вычислительные узлы. Мастер отправляет задания на вычислительные узлы. Для этого я использую NIS + NFS, чтобы объединить UID и домашний каталог. Для выполнения удаленных команд я использую ssh и связку ключей для входа в систему без пароля.
Вроде все нормально, не так ли? Ну не совсем.
Например, предположим, что master - это главный узел, а node1 и node2 - вычислительные узлы. Поэтому при выполнении задания node1 и node2 запрашивают кодовую фразу. Последующие удаленные команды больше не запрашивают кодовую фразу. Вы думаете, что все в порядке? На самом деле, нет :)
Допустим, я добавляю 30 новых узлов. Мне придется впервые вводить кодовую фразу для каждого узла, что несколько безумно. Или скажем, что мне нужно перезагрузить некоторые узлы, та же проблема ...
Я пробовал использовать сертификаты openssh (ssh-keygen -s ...), но это та же проблема, я зависим от ssh-agent. Возможно, то, что я ищу, несколько небезопасно, но я бы хотел, чтобы каждый вычислительный узел использовал сокет главного узла. но я не знаю, как это сделать.
Кажется, это невозможно ssh через аутентификацию с открытым ключом для пользователей, администрируемых с помощью NIS не так ли?
Любая идея? заранее спасибо
ssh-agent
и какой-то способ распространения открытого ключа (authorized_keys
в домашнем каталоге пользователей, смонтированный по NFS работает) стандартный ответ на ваш запрос.
Для получения бонусных баллов вы можете использовать экспедирование агента чтобы передать свои учетные данные, если вам по какой-то причине нужно пройти через несколько узлов.
Поскольку вы не указали причину, по которой это не сработает в вашей ситуации, я рекомендую вам реализовать это решение.