мы хотим включить трассировку сети в режиме реального времени для тестирования приложений.
Мы хотим предоставить как можно меньше разрешений / прав на удаленный хост, на котором будет запускаться tcpdump.
Поэтому я попытался настроить авторизованный ключ, который используется для входа в систему.
command="sudo tcpdump -n -i eth0 -s 65535 -w -" ssh-rsa AAAAB3NzaC....
Когда я подключаюсь с клиентского компьютера и использую
ssh -i private.key user@10.10.254.200 | wireshark -S -k -i -
Wireshark жалуется и говорит: "Неопознанный формат pcap"
Когда мы вместо этого бежим
ssh -i private.key user@10.10.254.200 "tcpdump -i eth0 -w -" | wireshark -S -k -i -
и удалите команду = "..." из авторизованных ключей, это работает!
В чем разница между этими двумя вариантами? если я удаляю «| wireshark ...» в обоих случаях, я вижу двоичные данные, поступающие ко мне в терминале ...
В случае, если есть разница, которая сделает это невозможным в любом случае, вы, ребята, знаете способ, которым команда может быть каким-то образом предопределена на стороне сервера?
Как я пытался объяснить в начале, клиентские машины, на которых работает wireshark, должны быть максимально ограничены.
Спасибо за вашу помощь!