在我的大学实验室中,所有计算机都通过LAN连接,因此我想将“ spyder”软件从一台计算机安装到所有计算机。
可能吗 ?
Ubuntu
在大学实验室的每台计算机上安装了相同的用户名(CSLAB)和相同的密码(E201),并且所有计算机都通过相同的LAN连接。那么我怎样才能成为每台计算机用户的管理员?
在我的大学实验室中,所有计算机都通过LAN连接,因此我想将“ spyder”软件从一台计算机安装到所有计算机。
可能吗 ?
Ubuntu
在大学实验室的每台计算机上安装了相同的用户名(CSLAB)和相同的密码(E201),并且所有计算机都通过相同的LAN连接。那么我怎样才能成为每台计算机用户的管理员?
Answers:
为此,我的首选解决方案是Ansible(https://www.ansible.com/)。它使您可以在尽可能多的计算机上自动进行任何类型的配置或安装。Ansible的另一个好处是社区已经提供了许多健壮的脚本,可用于执行大多数配置和安装任务。
这看起来像是一个相当容易理解的教程,可帮助您入门并使用Ansible。
但是,如果这只是您要在多台计算机上运行的一次性命令,那么最好只在Bash中编写脚本。
如果仅需要执行几个简单命令,而又不想配置可以使用的复杂自动化软件(例如ansible,salt或puppet),则可以使用clusterssh
。
打开命令行窗口进行安装
sudo apt-get install clusterssh
现在您可以打开与许多主机的连接,例如
clusterssh -l username labhost1 labhost2 labhost3
然后,clusterssh将为您提供一个用于输入命令的窗口,还为您连接到的每个主机提供了一个终端窗口-这样您就可以看到实际发生的情况!
在此示例中,您可以看到命令窗口,其右侧为“ apt-get update”,左侧为所有集群终端。
如果其中一台主机出现问题,您可以立即看到错误消息,然后单击相应的终端以纠正这种情况。
您还可以编写一个列表clusterssh
以连接到:打开您喜欢的编辑器并写到$HOME/.clusterssh/clusters
collegelab labhost1
collegelab labhost2
collegelab labhost3
然后与
clusterssh -l username collegelab
进一步阅读
ansible inventory -a 'shell command goes here'
pssh
.....但是使用clusterssh可以立即获得反馈,并且可以在出现问题时停止/补救。这只是解决问题的另一种方法。我个人更喜欢软件自动化(例如Ansible)。
clusterssh
或者ansible
是什么?
ssh-copy-id
或类似方式将您的公共ssh密钥放入每台计算机上的authorized_keys文件中。
这是一个非常基本的顺序解决方案,假设您知道网络上计算机的所有主机名或IP地址,并且已启用公钥身份验证。请参阅此处以了解更多详细信息-https://man.openbsd.org/ssh-keygen.1
hosts.txt
for i in `cat hosts.txt`; do ssh $i apt-get --assume-yes install spyder; echo ; done
hosts.txt
文件