远程登录到来自多个源的多个目标IP和端口

时间:2018-12-06 13:43:36

标签: bash shell

我正在创建一个简单的脚本,该脚本可以远程登录来自多个源的多个目标IP和端口。我有4个文件-一个具有目标IP,第二个具有端口,第三个具有源IP列表,最后一个是将每个目标远程登录的脚本。来自多个来源的IP和端口。所以我有这些文件:

dest_ips.txt,
ports.txt,
source_ips.txt,
port_test.sh

我正在尝试这样的事情:

for s in `cat source_ips.txt`
do
    ssh $s <port_test.sh`

如何将前两个文件(dest_ips.txt,ports.txt)输入此脚本?

1 个答案:

答案 0 :(得分:0)

首先,为什么将服务器和端口分成单独的文件?

除此之外,请勿使用您列出的结构:

for s in `cat source_ips.txt`

相反,使用类似

while read s
do # . . . 
done < source_ips.txt

有很多需要改进的地方,但让我们暂时保持简单。有关更多信息,请参见BashFAQ 001

我假设ssh正在读取的脚本将使用其他文件。

要回答您提出的问题,如何将它们作为参数传递?

while read s
do scp dest_ips.txt ports.txt port_test.sh "$s:/tmp/"
   ssh "$s" "cd /tmp && . port_test.sh dest_ips.txt ports.txt" <&- 
done < source_ips.txt
相关问题