2012-05-22 56 views
2

我需要通过SSH访问多个主机,执行特定命令(show ms info)并将输出捕获到文件。我需要这个文件复制回我的Linux机器执行远程命令并将输入保存到文件

我想用sshexpect提供

我的问题是储蓄输出到一个文本文件,并同时循环周围100台机器的密码。

+0

如果你可以使用Perl,检查[网:: OpenSSH的并行::(https://metacpan.org/module/Net::OpenSSH::Parallel)。 – salva

回答

4

更简单的比你想象:

host1 $ ssh [email protected] ls > remote-output.txt 
Enter passphrase for key '/home/user/.ssh/id_rsa': 
host1 $ ls 
remote-output.txt 
host1 $ 

要为多个主机做到这一点,我建议使用ssh-agent和设置autorization键:

$ ssh-agent bash 
$ ssh-add 
Enter passphrase for /home/user/.ssh/id_rsa: 
$ for h in host1 host2;do ssh $h ls > $h.txt; done 
$ ls 
host1.txt host2.txt 
$ 
+0

谢谢ALOT !! stil与多个主机有问题,但它多少来自机器 – user1410050

相关问题