2012-05-22 55 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

相關問題