Ожидайте, что скрипт подключается с SSH, но не запускает команды

Если вам нужны только счетчики для определенного протокола, то вы можете создать правило iptables для приема этих пакетов, и оно будет отслеживать, сколько пакетов и байтов соответствует правилу.

Если вам нужны пакеты на UDP порт 44, команда iptables будет выглядеть следующим образом:

iptables -A INPUT -i eth0 -p udp --dport 44 -j ACCEPT

Если вам нужны более подробные данные об этих пакетах, то, как сказал Джед Дэниелс, tcpdump будет вашим лучшим выбором.

tcpdump -nei eth0 udp port 44
0
27.07.2018, 12:42
1 ответ

Для этого не нужно использовать expect. Команда sshможет принимать дополнительные аргументы команд, которые вы хотите запустить через SSH-соединение.

Шаг #1

Настройте пару ключей SSH (погуглите )и затем скопируйте ключ SSH на удаленный сервер. Для этого я бы рекомендовал использовать ssh-copy-id. См. мой ответ на этот вопрос и ответ U&L под названием:Как правильно копировать закрытые ключи с удаленных серверов на мою локальную машину, чтобы я мог подключаться с помощью ssh .

Шаг #2

Теперь, когда есть возможность подключиться по SSH к серверу с помощью ключа, ваша вышеуказанная проблема превращается в эту:

$ ssh root@129.0.0.10 "ls -la; ps -af"

Вы можете проявить фантазию и использовать здесь документы (heredocs aka.здесь -docs)для дальнейшего улучшения этой техники.

$ ssh root@129.0.0.10 <<EOF
> ls -la
> ps -af
> EOF

или поместите команды в файл и передайте ихssh:

$ ssh root@129.0.0.10 < my.cmds
1
28.01.2020, 04:16

Теги

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