Выполнить команду на удаленном компьютере, используя telnet в одной строке

Мне нужно написать скрипт для мониторинга интерфейса wlan0 моей удаленной машины. Я могу сделать это, выполнив iwconfig wlan0 несколько раз на удаленной машине. Но как войти на эту машину и выполнить эту команду через telnet. Я могу сделать это через ssh, но ssh требуется время для входа в систему и он зависает, если соединение с удаленной машиной прерывается в середине выполнения.

0
задан 29 May 2015 в 04:35

1 ответ

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

, Например:

ssh remotehost "while [ "1" ] ; do iwconfig wlan0 ; sleep 1 ; done"

Или, Вы могли использовать netcat для отправки вывода в удаленной системе назад к машине. Например, выполните это на локальной машине:

nc -l 9999

Тогда на удаленной машине:

while [ "1" ] ; do iwconfig wlan0 ; sleep 1 | nc localmachine 9999

Замена localmachine здесь с хостом или IP машины, которая будет делать "контроль".

Вы могли даже передать вывод по каналу от nc, читающего тот порт в другую команду.

Ближе к Вашему фактическому вопросу, Вы могли сделать это в удаленной системе для действия как telnet "сервера":

while [ "1" ] ; do iwconfig wlan0 | nc -l 9999 ; done

Тогда Вы могли сделать это для получения outupt:

telnet remotehost 9999
0
ответ дан 29 May 2015 в 04:35

Другие вопросы по тегам:

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