Запуск tcpdump на удаленной машине без tty с помощью ssh

Я пытаюсь запустить tcpdump на нескольких удаленных машинах, чтобы выполнить анализ сети с помощью скрипта, но мне не удается правильно его запустить. Команда, которую я хотел бы использовать:

SSH пользователь@хост "nohup и суда /usr на/sbin/tcpdump для УДП -л -с 68 -Н-В -Я через eth0 1>тсрйитр.txt 2>tcpdump.err &"

с намерением запустить tcpdump удаленно, передать результаты в файл и немедленно вернуться. Не имея клавиатуры, установленной на удаленной машине, все I get is

sudo: нет tty и не указана программа askpass

написано в tcpdump.ошибаться. Я тоже старался:

  • написание команды в скрипте bash и запуск скрипта удаленно
  • заключив судо участие в команде 'сценарий (сценарий -с 'nohup и судо...')

но безуспешно. Есть ли другие альтернативы, которые я могу попробовать?

5
задан Satto
источник

1 ответов

вы используете sudo в вашей команде, которая потребует аутентификации, если не настроено иначе на удаленном хосте. Вам придется ввести пароль для аутентификации, если вы не попробуете что-то вроде

user NOPASSWD: /usr/sbin/tcpdump

в файле sudoers на удаленном хосте.

Это может иметь серьезные последствия для безопасности; если кто-то взломает систему как этот пользователь (или просто сядет на одну из своих зарегистрированных консолей), они могут tcpdump весь трафик на / С этого хоста без аутентификации от имени root или этого пользователя.

проверьте раздел tag_spec The sudoers man page для получения более подробной информации.

0
отвечен overprescribed 2013-06-17 15:57:08
источник

Другие вопросы bash linux ssh