Как установить что-то с одного компьютера на весь компьютер?

9

В моей лаборатории в колледже все компьютеры подключены к локальной сети, поэтому я хочу установить «шпионское» программное обеспечение с одного компьютера на весь компьютер.
Является ли это возможным ?

Абхишек Камаль
источник
Вы администратор? Если нет, сначала получите разрешение.
Торбьерн Равн Андерсен
Я установил Ubuntuна каждый компьютер в моей лаборатории колледжа с тем же именем пользователя (CSLAB) и тем же паролем (E201), и все компьютеры были подключены к одной локальной сети. Итак, как я могу стать администратором для каждого пользователя компьютера?
Абхишек Камаль
1
@AbhishekKamal, совет. Не публикуйте настоящие имена пользователей (и пароли ??) на общедоступных веб-сайтах. А также, если «E201» действительно ваш пароль администратора, подумайте о его замене на что-то более безопасное!
tplive
Такие решения, как Ansible и clusterssh (упомянутые ниже), используют SSH для подключения к компьютерам, которыми вы хотите управлять. Вы можете (и должны) настроить доступ без пароля, который подтверждает доверие между компьютерами (т. Е. Вашему компьютеру доверяют все управляемые компьютеры) для бесперебойной работы автоматизации.
tplive
1
«Администратор» в Ubuntu - это не что иное, как тот, кто может стать пользователем root, например, с помощью «sudo -s» (а затем запустить «apt» для установки программного обеспечения). Почему вы делаете это в первую очередь?
Турбьёрн Равн Андерсен

Ответы:

14

Для этого я предпочитаю Ansible ( https://www.ansible.com/ ). Это позволит вам автоматизировать любой тип конфигурации или установки на любом количестве компьютеров, сколько вы захотите. Другим преимуществом Ansible является сообщество, которое уже выпустило множество надежных сценариев для выполнения большинства задач по настройке и установке.

Это похоже на довольно понятное руководство, которое поможет вам освоиться с Ansible.

Тем не менее, если это просто однократная команда, которую вы хотите запустить на нескольких компьютерах, вам лучше просто написать ее в Bash .

tplive
источник
12

Если вам нужно выполнить всего лишь пару простых команд, и вы не хотите настраивать сложное программное обеспечение для автоматизации (например, ansible, salt или puppet), которое вы можете использовать clusterssh.

Откройте окно командной строки для установки

sudo apt-get install clusterssh

Теперь вы можете открыть соединение с несколькими хостами, как это

clusterssh -l username labhost1 labhost2 labhost3

Clusterssh предоставит вам окно для ввода ваших команд, а также одно окно терминала для каждого хоста, к которому вы подключаетесь - чтобы вы могли видеть, что на самом деле происходит!

Пример ClusterSSH В этом примере вы можете увидеть командное окно с «apt-get update» справа и всеми кластерными терминалами слева.

Если у одного из хостов возникнет проблема, вы можете сразу же увидеть сообщение об ошибке и нажать на соответствующий терминал, чтобы исправить ситуацию.

Вы также можете написать список для clustersshподключения: Откройте ваш любимый редактор и напишите$HOME/.clusterssh/clusters

collegelab labhost1
collegelab labhost2
collegelab labhost3

затем соединиться с

clusterssh -l username collegelab

дальнейшее чтение

Роберт Ридл
источник
Справедливости ради, вы, вероятно, могли бы сделать то же самое из командной строки Ansible так же просто и легко, как вы предлагаете для clusterssh .. :) Поместите ваши хосты в файл инвентаризации, а затем выполните команду из терминала, что-то вродеansible inventory -a 'shell command goes here'
tplive
1
@tplive, конечно, вы можете сделать это и с помощью одних только команд ssh, psshно и с ..., но с clusterssh у вас есть немедленная обратная связь и способ остановить / устранить проблему, если есть проблема. Это просто альтернативный способ идти о вещах. Лично я предпочел бы автоматизацию программного обеспечения (как ANSIBLE).
Роберт Ридл
В моей лаборатории в колледже каждый компьютер имеет одинаковое имя пользователя и пароль . так я могу использовать clustersshили ansibleдля этого?
Абхишек Камаль
@RobertRiedl, и именно поэтому я проголосовал за твой ответ .. :)
tplive
1
@AbhishekKamal Абсолютно! Для более удобной работы с паролем без входа в систему, поместите свой открытый ключ ssh в файл авторизованные ключи на каждом компьютере, используя ssh-copy-idили аналогичный.
25
0

Вот очень простое последовательное решение, предполагающее, что вы знаете все имена хостов или IP-адреса компьютеров в сети и включили аутентификацию с открытым ключом. Смотрите здесь для более подробной информации - https://man.openbsd.org/ssh-keygen.1

  1. Создать новый файл, например hosts.txt
  2. Заполните каждую строку указанного файла IP-адресами или именами хостов в вашей локальной сети.
  3. Перебирайте каждую строку в файле и устанавливайте программное обеспечение на хост как

for i in `cat hosts.txt`; do ssh $i apt-get --assume-yes install spyder; echo ; done

bunnydrug
источник
@bunnydrug Имя хоста для всех компьютеров в моей LAB - CSLAB, а пароль - E201. так что я должен написать в hosts.txtфайле
Абхишек Камаль