Як встановити щось з одного комп’ютера на весь комп'ютер?


9

У моїй лабораторії коледжу всі комп’ютери підключені до локальної мережі, тому я хочу встановити програмне забезпечення "шпидер" з одного комп'ютера на весь комп'ютер.
Це можливо ?


Ви адміністратор? Якщо ні, спочатку отримайте дозвіл.
Thorbjørn Ravn Andersen

Я встановив Ubuntuу кожному комп’ютері моєї лабораторії коледжу з тим самим іменем користувача (CSLAB) і тим же паролем (E201), і всі комп'ютери підключені до однієї локальної мережі. Тож як я можу стати адміністратором для кожного користувача комп'ютера?
Абхішек Камал

1
@AbhishekKamal, слово поради. Не публікуйте справжні імена користувачів (і паролі ??) на загальнодоступних веб-сайтах. А також, якщо "E201" дійсно є вашим адміністраторським паролем, подумайте про заміну його на щось набагато безпечніше!
tplive

Такі рішення, як Ansible та clusterssh (згадані нижче), використовують SSH для підключення до комп'ютерів, якими ви хочете керувати. Ви можете (і повинні) налаштувати доступ без пароля, що підтверджує довіру між комп'ютерами (тобто ваш комп'ютер довіряється всім керованим комп'ютерам) для автоматичної роботи безперебійно.
tplive

1
"Адміністратор" Ubuntu - це не що інше, як хтось, хто може стати root, наприклад, з "sudo -s" (а потім запустіть "apt" для встановлення програмного забезпечення). Чому ти це робиш в першу чергу?
Thorbjørn Ravn Andersen

Відповіді:


14

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

Це виглядає як досить зрозумілий підручник, щоб ви почали працювати з Ansible.

Однак, якщо це лише разова команда, яку ви хочете запустити на декількох комп'ютерах, вам краще просто прописати її на Bash .


12

Якщо це лише кілька простих команд, які потрібно виконати, і ви не хочете налаштовувати складне програмне забезпечення для автоматизації (наприклад, ansible, солі або маріонетки), яке ви могли б використовувати clusterssh.

Відкрийте вікно командного рядка для встановлення

sudo apt-get install clusterssh

тепер ви можете відкрити з'єднання з низкою хостів, як це

clusterssh -l username labhost1 labhost2 labhost3

Потім clusterssh надасть вам вікно для введення ваших команд, а також одне вікно терміналу для кожного хоста, до якого ви підключаєтесь - так ви зможете побачити, що насправді відбувається!

Приклад кластерного SSH У цьому прикладі ви можете побачити вікно команди з "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або подібний.
tplive

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 Ім'я хоста для всіх комп'ютерів у моєму LAB - це CSLAB, а пароль - E201. так що я hosts.txt
Абхішек Камал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.