2

У меня есть несколько быстрых вопросов о PuTTY с использованием удаленных команд (-m).

У меня есть MachineB, с которой легко решить проблему. Чтобы подключиться к MachineB, мне нужно подключиться к ServerA, получить IP-адрес и SSH к MachineB:

ssh -t -t `cat /Devices/051`

Отсюда я устанавливаю серию команд и в конце проверяю результаты:

cd /opt/ProgramA/
/opt/ProgramA/reboot.sh
/opt/ProgramA/Validate.sh

После проверки выходов я бы сделал и готов к работе.

В настоящее время у меня есть:

Putty.exe -ssh hostissecret 22 -l root -pw secret -m command.txt

Commands.txt содержит:

ssh -t -t `cat /Devices/051
cd /opt/ProgramA/
/opt/ProgramA/reboot.sh
/opt/ProgramA/Validate.sh
read

Он попадает в MachineB, но не запускает на нем никаких команд. Я также попытался сделать command.txt одной длинной строкой, но PuTTY завершит работу без достаточного промежутка времени для выполнения команд.

1 ответ1

1

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

ssh -t -t `cat /Devices/051` "cd /opt/ProgramA/; /opt/ProgramA/reboot.sh; /opt/ProgramA/Validate.sh"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .