如何从远程服务器运行多个ssh会话

时间:2016-09-18 10:02:37

标签: azure ssh ubuntu-16.04

我在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行没有此类文件或目录。

1 个答案:

答案 0 :(得分:0)

请在此处查看此答案:vendored into your application

本质上:

  1. 设置跳转框与服务器之间的公钥认证。

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

  3. pssh可能是这项工作的更好工具: https://unix.stackexchange.com/a/76777

    cssh也应该可以工作,只是不要用它做X11的东西或确保你启用了X11转发。实际上,我在撒谎,我不知道它是否适用于没有xterm。