У меня проблемы с сканированием портов на удаленных хостах. У меня есть список машин, который выглядит следующим образом:
10.134.71.197:169.50.114.1:4730
Что означает: remote_host: destination: port
Я пытался решить эту проблему используя Ansible файл инвентаря, но это может быть излишним. Я думал о каком-то bash однострочнике, который выглядит так:
for i in `cat list`; do echo $i >> output_file; ssh $i@remote_host "nc -zv destination port" >> output_file; done
Однако я все еще получаю вывод с локального хоста вместо удаленного сервера:
[user@server dir]$ for i in `cat list`; do echo $i >> output_file; ssh root@$i "nc -zv 169.50.114.1 4730" >> output_file; done
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 169.50.114.1:4730.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.
[user@server dir]$ cat output_file
10.134.71.197
Какой самый эффективный способ решения этой задачи?