ми хочемо включити мережеве відстеження в режимі реального часу для тестування додатків.
Ми хочемо надати якомога менше дозволів / прав на віддалений хост, який запустить 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 ...", в обох випадках я бачу бінарні дані, що надходять до мене в терміналі ...
Якщо є різниця, яка зробить це неможливим у будь-якому випадку, ви, хлопці, знаєте спосіб, коли команду можна якось заздалегідь визначити на стороні сервера?
Як я намагався пояснити на початку, клієнтські машини, які працюють на проводках, повинні бути максимально обмеженими.
Спасибі за вашу допомогу!