我需要通过SSH访问多个主机,执行特定命令(show ms info
)并将输出捕获到文件中。我需要将该文件复制回我的linux机器
我想使用ssh
和expect
提供密码
我的问题是将输出保存到文本文件并同时循环100台机器。
答案 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
$