Итак, я собираюсь попросить кое-что важное здесь, и это, если я могу сканировать с одного устройства все другие подключенные устройства, чтобы увидеть, есть ли у них определенная строка текста в любом из их файлов.
Это немного похоже на использование команды grep -rl "text to find" "file location"
, но она выполняется на одной машине, на которой вы сейчас находитесь. теперь я спрашиваю, находится ли машина, на которой я работаю, на всех других устройствах в одной папке, чтобы найти файлы, содержащие текст, который должен быть найден, и если он печатает имя машины с файлами, содержащими файлы, как на одном компьютере
/etc/asterisk/sip.conf
/etc/network/interfaces
/etc/firewall
Это то, как это делается на одной машине, но теперь я надеюсь, что это возможно сделать так
machine name /etc/firewall
machine name /etc/network/interfaces
Или, если это вообще возможно сделал немного лучше
machine name
/etc/firewall
/etc/network/interfaces
Возможно, я спрашиваю о невозможном, но я видел, как ubuntu делал невозможное до
update1: так как я получил решение от Rinzwind, я смог получить определенное У машин, но у других был закрыт порт 22, поэтому проблема все еще не решена
update2: проблема с портом была решена путем добавления -p 220
между user@host
и "grep
в решении Ринзвинда
Это
ssh user@host -p port "grep -rl 'help' /home/" >> /tmp/search.txt
возвратит любой файл внутри / домой, который содержит "справку" на удаленном сервере {хост} на {порте} с помощью {пользователя}, и добавьте его к "/tmp/search.txt". Это принимает {размещают}, примет {пользователь} как действительного пользователя и мог бы запросить пароли.
Чтобы это работало по нескольким машинам, Вы могли прочитать файл конфигурации с пользователями и хостами и выполнить итерации по ним. Вероятно, было бы легче сделать это в "Python" или "perl", поскольку можно легко управлять и отформатировать результаты на каждой передаче и затем записать в stdout результаты.