как подключиться к удаленному серверу по ssh и получить информацию

Я пытаюсь написать сценарий оболочки, используя bash. У меня есть несколько серверов, и на каждом сервере запущено несколько приложений. На каждом сервере также есть определенные сценарии приложений для проверки/остановки/запуска и т. д. Все, что я хочу сделать, это выполнить ssh и подключиться к удаленному серверу. Что я также могу успешно делать и выполнять команды.

В некоторых случаях мне нужно проверить статус некоторого процесса на удаленной машине, специальные сценарии приложения уже делают это. Но используя мой ssh, когда я пытаюсь выполнить этот скрипт, я не получаю никакой информации (он выполняется, но информация не передается). Как получить информацию с удаленного хоста и отобразить на локальном хосте здесь.

Любая помощь в этом очень ценится.

С уважением, Сенни


person user57421    schedule 03.02.2011    source источник
comment
Пожалуйста, уточните, что вы называете информацией, это вывод скриптов или что-то еще. Пробовали подключиться по ssh к удаленной машине и вручную запускать оттуда скрипты? Это работает?   -  person gabuzo    schedule 03.02.2011
comment
Если вы можете показать, что вы пробовали, кто-то может сказать вам, почему это не работает и как это исправить.   -  person Shawn Chin    schedule 03.02.2011


Ответы (1)


Вы можете выполнять удаленные команды и получать результаты локально, передав команду в виде строки в ssh.

В вашем скрипте вы можете сделать:

CMD_OUT=$(ssh user@remote_host "/path/to/script argument")

Команда будет запущена удаленно, а выходные данные будут храниться в переменной CMD_OUT. Затем вы можете проанализировать вывод в своем скрипте, чтобы получить желаемые результаты.

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

person Shawn Chin    schedule 03.02.2011