我在Azure上的VNET中部署了VM的拓扑。有一个跳转盒可以访问所有这些机器,是VNET的一部分。这个跳转箱提供了大约25台机器。
我希望能够通过此跳转盒同时在所有VM上运行命令和脚本。
我安装了cssh,它显示以下错误:
在/usr/share/perl5/App/ClusterSSH.pm 1981年找不到DISPLAY - 猜测unix:0'。
无法连接显示unix:0':/usr/share/perl5/X11/Protocol.pm第2264行没有此类文件或目录。
答案 0 :(得分:0)
请在此处查看此答案:vendored into your application
本质上:
设置跳转框与服务器之间的公钥认证。
for host in $(cat hosts.txt); do ssh "$host" "$command" > "output.$host" ; done
pssh
可能是这项工作的更好工具:
https://unix.stackexchange.com/a/76777
cssh
也应该可以工作,只是不要用它做X11的东西或确保你启用了X11转发。实际上,我在撒谎,我不知道它是否适用于没有xterm。