Сеансы экрана PSSH на нескольких машинах

Если вы посмотрите страницу руководства ssh по man ssh, вы найдете соответствующий синтаксис

ssh [...] [-l login_name] [...] [user@]hostname [command]

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

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

0
06.03.2018, 13:37
1 ответ

Да. Хотя, поскольку все они имеют одинаковые учетные данные, я думаю, что то, что вы хотите, будет лучше достигнуто с помощью pdsh.

Вам необходимо убедиться, что вы настроили ssh между серверами, чтобы вы могли войти в систему без пароля. Установите пакет pdsh, если он у вас еще не установлен. После установки вы можете сделать что-то вроде:

pdsh -R exec -w ^hosts.txt screen -D -R

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

pdsh— отличный инструмент для управления группами серверов, когда вам нужно выдавать команды параллельно. Посмотрите справочную страницу для pdsh, там много вариантов. Стоит отметить переменную PDSH_SSH_ARGS_APPEND,это позволит вам добавлять параметры из обычной команды ssh.

0
28.01.2020, 04:29

Теги

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