执行远程命令并将输入保存到文件

时间:2012-05-22 11:44:20

标签: linux shell ssh telnet remote-execution

我需要通过SSH访问多个主机,执行特定命令(show ms info)并将输出捕获到文件中。我需要将该文件复制回我的linux机器

我想使用sshexpect提供密码

我的问题是将输出保存到文本文件并同时循环100台机器。

1 个答案:

答案 0 :(得分:4)

比你想象的要简单明了:

host1 $ ssh user@host2 ls > remote-output.txt
Enter passphrase for key '/home/user/.ssh/id_rsa':
host1 $ ls
remote-output.txt
host1 $

要为多台主机执行此操作,建议您使用ssh-agent并设置自动设置密钥:

$ 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
$