PSSH - Εκτέλεση εντολών σε πολλαπλά απομακρυσμένα συστήματα Linux


Χωρίς αμφιβολία, ότι το OpenSSH είναι ένα από τα πιο ευρέως χρησιμοποιούμενα και ισχυρά εργαλεία διαθέσιμα για Linux, το οποίο σας επιτρέπει να συνδέεστε με ασφάλεια σε απομακρυσμένα συστήματα Linux μέσω ενός κελύφους και σας επιτρέπει να μεταφέρετε αρχεία με ασφάλεια από και προς απομακρυσμένα συστήματα.

Ωστόσο, το μεγαλύτερο μειονέκτημα του OpenSSH είναι ότι δεν μπορείτε να εκτελέσετε την ίδια εντολή σε πολλούς κεντρικούς υπολογιστές ταυτόχρονα και το OpenSSH δεν έχει αναπτυχθεί για την εκτέλεση τέτοιων εργασιών.

Εδώ είναι χρήσιμο το εργαλείο Parallel SSH ή PSSH, είναι μια εφαρμογή που βασίζεται σε Python, που σας επιτρέπει να εκτελείτε εντολές σε πολλούς κεντρικούς υπολογιστές παράλληλα ταυτόχρονα.

Το εργαλείο PSSH περιλαμβάνει παράλληλες εκδόσεις του OpenSSH και σχετικά εργαλεία όπως:

  • pssh – είναι ένα πρόγραμμα για την παράλληλη εκτέλεση του ssh σε πολλούς απομακρυσμένους κεντρικούς υπολογιστές.
  • pscp – είναι ένα πρόγραμμα για την αντιγραφή αρχείων παράλληλα με έναν αριθμό κεντρικών υπολογιστών.
  • prsync – είναι ένα πρόγραμμα για την αποτελεσματική αντιγραφή αρχείων σε πολλούς κεντρικούς υπολογιστές παράλληλα.
  • pnuke – σκοτώνει διεργασίες σε πολλούς απομακρυσμένους κεντρικούς υπολογιστές παράλληλα.
  • pslurp – αντιγράφει αρχεία από πολλούς απομακρυσμένους κεντρικούς υπολογιστές σε έναν κεντρικό κεντρικό υπολογιστή παράλληλα.

Αυτά τα εργαλεία είναι καλά για διαχειριστές συστήματος που εργάζονται με μεγάλες συλλογές κόμβων σε ένα δίκτυο.

Εγκαταστήστε PSSH ή Parallel SSH σε Linux

Σε αυτόν τον οδηγό, θα εξετάσουμε τα βήματα για την εγκατάσταση της πιο πρόσφατης έκδοσης του προγράμματος PSSH (δηλαδή έκδοση 2.3.1) σε διανομές που βασίζονται σε RHEL, όπως Fedora, CentOS Stream , Rocky & AlmaLinux και διανομές που βασίζονται στο Debian όπως Ubuntu και Linux Mint χρησιμοποιώντας την εντολή pip.

Η εντολή pip είναι ένα μικρό πρόγραμμα (αντικατάσταση του σεναρίου easy_install) για την εγκατάσταση και τη διαχείριση του ευρετηρίου πακέτων λογισμικού Python.

Στις διανομές που βασίζονται σε RHEL

Στις διανομές RHEL, πρέπει πρώτα να εγκαταστήσετε το πακέτο pip (δηλαδή, python-pip) στο σύστημά σας για να εγκαταστήσετε το PSSH πρόγραμμα χρησιμοποιώντας yum ή dnf.

yum install python-pip
OR
dnf install python-pip

Αφού εγκαταστήσετε το εργαλείο pip, μπορείτε να εγκαταστήσετε το πακέτο pssh χρησιμοποιώντας την εντολή pip, όπως φαίνεται παρακάτω.

pip install pssh  

Σε διανομές που βασίζονται στο Debian

Σε διανομές που βασίζονται στο Debian, χρειάζεται ένα λεπτό για να εγκαταστήσετε το pssh χρησιμοποιώντας την εντολή pip.

sudo apt install python-pip
sudo pip install pssh

Πώς μπορώ να χρησιμοποιήσω το pssh στο Linux;

Όταν χρησιμοποιείτε το pssh, πρέπει να δημιουργήσετε ένα αρχείο κεντρικού υπολογιστή με τον αριθμό των κεντρικών υπολογιστών μαζί με τη διεύθυνση IP και τον αριθμό θύρας που χρειάζεστε για να συνδέσετε σε απομακρυσμένα συστήματα χρησιμοποιώντας pssh.

Οι γραμμές στο αρχείο κεντρικού υπολογιστή έχουν την ακόλουθη μορφή και μπορούν επίσης να περιλαμβάνουν κενές γραμμές και σχόλια.

192.168.0.10:22
192.168.0.11:22

Εκτελέστε μία εντολή σε πολλούς διακομιστές Linux

Μπορείτε να εκτελέσετε οποιαδήποτε μεμονωμένη εντολή σε διαφορετικούς ή πολλούς κεντρικούς υπολογιστές Linux σε ένα δίκτυο εκτελώντας μια εντολή pssh. Υπάρχουν πολλές επιλογές για χρήση με το pssh όπως περιγράφεται παρακάτω:

Θα εξετάσουμε μερικούς τρόπους εκτέλεσης εντολών σε έναν αριθμό κεντρικών υπολογιστών χρησιμοποιώντας pssh με διαφορετικές επιλογές.

  • Για να διαβάσετε το αρχείο κεντρικού υπολογιστή, συμπεριλάβετε την επιλογή -h host_file-name ή --hosts host_file_name.
  • Για να συμπεριλάβετε ένα προεπιλεγμένο όνομα χρήστη σε όλους τους κεντρικούς υπολογιστές που δεν ορίζουν συγκεκριμένο χρήστη, χρησιμοποιήστε την επιλογή -l όνομα χρήστη ή --username.
  • Μπορείτε επίσης να εμφανίσετε τυπική έξοδο και τυπικό σφάλμα καθώς ολοκληρώνεται κάθε κεντρικός υπολογιστής. Χρησιμοποιώντας την επιλογή -i ή --inline.
  • Μπορεί να θέλετε να λήξει το χρονικό διάστημα των συνδέσεων μετά τον καθορισμένο αριθμό δευτερολέπτων, συμπεριλαμβάνοντας την επιλογή -t number_of_seconds.
  • Για να αποθηκεύσετε την τυπική έξοδο σε έναν δεδομένο κατάλογο, μπορείτε να χρησιμοποιήσετε την επιλογή -o /directory/path.
  • Για να ζητήσετε κωδικό πρόσβασης και να τον στείλετε στο SSH, χρησιμοποιήστε την επιλογή -A.

Ας δούμε μερικά παραδείγματα και τη χρήση των εντολών pssh:

Εκτελέστε εντολές σε πολλούς κεντρικούς υπολογιστές Linux

1. Για να εκτελέσετε το echo “Hello TecMint” στο τερματικό των πολλαπλών κεντρικών υπολογιστών Linux από τον χρήστη root και να ζητήσετε τον κωδικό πρόσβασης του χρήστη root, εκτελέστε αυτήν την παρακάτω εντολή.

Σημαντικό: Να θυμάστε ότι όλοι οι κεντρικοί υπολογιστές πρέπει να περιλαμβάνονται στο αρχείο κεντρικού υπολογιστή.

pssh -h pssh-hosts -l root -A echo "Hello TecMint"

Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 15:54:55 [SUCCESS] 192.168.0.10:22
[2] 15:54:56 [SUCCESS] 192.168.0.11:22

Σημείωση: Στην παραπάνω εντολή "pssh-hosts" υπάρχει ένα αρχείο με τη λίστα της διεύθυνσης IP του απομακρυσμένου διακομιστή Linux και του αριθμού θύρας SSH ότι θέλετε να εκτελέσετε εντολές.

Βρείτε τη χρήση δίσκου πολλών κεντρικών υπολογιστών Linux

2. Για να μάθετε τη χρήση του χώρου στο δίσκο σε πολλούς διακομιστές Linux στο δίκτυό σας, μπορείτε να εκτελέσετε μία μόνο εντολή ως εξής.

pssh -h pssh-hosts -l root -A -i "df -hT"

Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 16:04:18 [SUCCESS] 192.168.0.10:22
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda3      ext4    38G  4.3G   32G  12% /
tmpfs          tmpfs  499M     0  499M   0% /dev/shm
/dev/sda1      ext4   190M   25M  156M  14% /boot

[2] 16:04:18 [SUCCESS] 192.168.0.11:22
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        30G  9.8G   20G  34% /
devtmpfs                devtmpfs  488M     0  488M   0% /dev
tmpfs                   tmpfs     497M  148K  497M   1% /dev/shm
tmpfs                   tmpfs     497M  7.0M  490M   2% /run
tmpfs                   tmpfs     497M     0  497M   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  166M  332M  34% /boot

Βρείτε χρόνο λειτουργίας πολλών κεντρικών υπολογιστών Linux

3. Εάν θέλετε να γνωρίζετε τον χρόνο λειτουργίας πολλών διακομιστών Linux ταυτόχρονα, μπορείτε να εκτελέσετε την ακόλουθη εντολή.

pssh -h pssh-hosts -l root -A -i "uptime"
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 16:09:03 [SUCCESS] 192.168.0.10:22
 16:09:01 up  1:00,  2 users,  load average: 0.07, 0.02, 0.00

[2] 16:09:03 [SUCCESS] 192.168.0.11:22
 06:39:03 up  1:00,  2 users,  load average: 0.00, 0.06, 0.09

Μπορείτε να προβάλετε τη σελίδα μη αυτόματης εισαγωγής για την εντολή pssh για να λάβετε πολλές άλλες επιλογές για να μάθετε περισσότερους τρόπους χρήσης του pssh.

pssh --help

Περίληψη

Το Παράλληλο SSH ή το PSSH είναι ένα καλό εργαλείο που χρησιμοποιείται για την εκτέλεση εντολών σε ένα περιβάλλον όπου ένας Διαχειριστής συστήματος πρέπει να συνεργαστεί με πολλούς διακομιστές σε ένα δίκτυο . Θα διευκολύνει την απομακρυσμένη εκτέλεση εντολών σε διαφορετικούς κεντρικούς υπολογιστές σε ένα δίκτυο.

Ελπίζουμε να σας φανεί χρήσιμος αυτός ο οδηγός και σε περίπτωση πρόσθετων πληροφοριών σχετικά με το pssh ή σφαλμάτων κατά την εγκατάσταση ή τη χρήση του, μην διστάσετε να δημοσιεύσετε ένα σχόλιο.