2016-09-18 141 views
-1

我已經在Azure上的VNET中部署了一個虛擬機拓撲。有一個跳箱可以訪問所有這些機器,並且是VNET的一部分。這個跳箱提供了大約25臺機器。如何從遠程服務器運行多個ssh會話

我希望能夠通過此跳轉框同時在所有VM上運行命令和腳本。

我安裝CSSH,它顯示了以下錯誤:

Can't find DISPLAY -- guessing unix:0' at /usr/share/perl5/App/ClusterSSH.pm line 1981.

Can't connect to display unix:0': No such file or directory at /usr/share/perl5/X11/Protocol.pm line 2264.

回答

0

看到這個答案在這裏:https://unix.stackexchange.com/a/76777

本質:

  1. 設置公共密鑰認證的JumpBox和你的服務器之間。

  2. for host in $(cat hosts.txt); do ssh "$host" "$command" > "output.$host" ; done

pssh可能是這個工作的更好的工具: https://www.linux.com/news/parallel-ssh-execution-and-single-shell-control-them-all

cssh也應該工作,乾脆不要做X11的東西吧,或者確保您有X11轉發啓用。其實,我在說謊,我不知道它是否可以在沒有xterm的情況下運行。