Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: user57421Ответов: 1

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

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

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

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

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

sshbashremote-access

Ответы

Ответ 1 · рейтинг 7 · Shawn Chin

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

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

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы