PSSH - Birden Fazla Uzak Linux Sisteminde Komutları Çalıştırın


Hiç şüphe yok ki OpenSSH, Linux için mevcut en yaygın kullanılan ve güçlü araçlardan biridir; bu, uzak Linux sistemlerine bir kabuk aracılığıyla güvenli bir şekilde bağlanmanıza ve dosyaları uzak sistemlere güvenli bir şekilde aktarmanıza olanak tanır.

Ancak OpenSSH'nin en büyük dezavantajı, aynı komutu birden fazla ana bilgisayarda aynı anda yürütememeniz ve OpenSSH'nin bu tür görevleri gerçekleştirmek için geliştirilmemiş olmasıdır.

İşte bu noktada Paralel SSH veya PSSH aracı kullanışlı olur; Python tabanlı bir uygulamadır ve komutları aynı anda birden fazla ana makinede paralel olarak yürütmenize olanak tanır.

PSSH aracı, OpenSSH'nin paralel sürümlerini ve aşağıdakiler gibi ilgili araçları içerir:

  • pssh – ssh'yi birden fazla uzak ana bilgisayarda paralel olarak çalıştırmak için kullanılan bir programdır.
  • pscp – dosyaları bir dizi ana bilgisayara paralel olarak kopyalamak için kullanılan bir programdır.
  • prsync – dosyaları paralel olarak birden fazla ana bilgisayara verimli bir şekilde kopyalamak için kullanılan bir programdır.
  • pnuke – birden fazla uzak ana bilgisayardaki işlemleri paralel olarak sonlandırır.
  • pslurp – birden fazla uzak ana bilgisayardaki dosyaları paralel olarak merkezi bir ana bilgisayara kopyalar.

Bu araçlar, kendilerini bir ağ üzerinde büyük düğüm koleksiyonlarıyla çalışırken bulan Sistem Yöneticileri için iyidir.

Linux'a PSSH veya Paralel SSH yükleyin

Bu kılavuzda, PSSH programının en son sürümünü (yani sürüm 2.3.1) Fedora, CentOS Stream gibi RHEL tabanlı dağıtımlara yükleme adımlarına bakacağız. , Rocky & AlmaLinux ve Ubuntu ve Linux Mint gibi Debian tabanlı dağıtımlar pip komutunu kullanarak.

pip komutu, Python yazılım paketleri dizinini yüklemek ve yönetmek için kullanılan küçük bir programdır ( easy_install betiğinin yerine geçmiştir).

RHEL Tabanlı Dağıtımlarda

RHEL dağıtımlarında, PSSH'yi yüklemek için öncelikle pip paketini (yani python-pip) sisteminize yüklemeniz gerekir. yum veya dnf kullanan program.

yum install python-pip
OR
dnf install python-pip

pip aracını yükledikten sonra, aşağıda gösterildiği gibi pip komutunu kullanarak pssh paketini yükleyebilirsiniz.

pip install pssh  

Debian Tabanlı Dağıtımlar Hakkında

Debian tabanlı dağıtımlarda pip komutunu kullanarak pssh'yi yüklemek bir dakika sürer.

sudo apt install python-pip
sudo pip install pssh

Linux'ta pssh'yi Nasıl Kullanırım?

pssh kullanırken, pssh kullanarak uzaktaki sistemlere bağlanmak için ihtiyaç duyduğunuz IP adresi ve bağlantı noktası numarasının yanı sıra ana bilgisayar sayısını içeren bir ana makine dosyası oluşturmanız gerekir.

Host dosyasındaki satırlar aşağıdaki formda olup boş satırlar ve yorumlar da içerebilir.

192.168.0.10:22
192.168.0.11:22

Birden Fazla Linux Sunucusunda Tek Komut Çalıştırın

Bir pssh komutunu çalıştırarak herhangi bir komutu bir ağdaki farklı veya birden fazla Linux ana bilgisayarında çalıştırabilirsiniz. Aşağıda açıklandığı gibi pssh ile kullanılabilecek birçok seçenek vardır:

Farklı seçeneklerle pssh kullanarak birden fazla ana bilgisayarda komut çalıştırmanın birkaç yoluna bakacağız.

  • Ana bilgisayar dosyasını okumak için -h ana bilgisayar_dosyası-adı veya --hosts ana bilgisayar_dosyası_adı seçeneğini ekleyin.
  • Belirli bir kullanıcıyı tanımlamayan tüm ana bilgisayarlara varsayılan bir kullanıcı adı eklemek için -l kullanıcı adı veya --user kullanıcı adı seçeneğini kullanın.
  • Ayrıca her ana bilgisayar tamamlandığında standart çıktıyı ve standart hatayı görüntüleyebilirsiniz. -i veya --inline seçeneğini kullanarak.
  • -t saniye_sayısı seçeneğini ekleyerek, verilen saniye sayısından sonra bağlantıların zaman aşımına uğramasını isteyebilirsiniz.
  • Standart çıktıyı belirli bir dizine kaydetmek için -o /directory/path seçeneğini kullanabilirsiniz.
  • Şifre isteyip SSH'ye göndermek için -A seçeneğini kullanın.

pssh komutlarının birkaç örneğini ve kullanımını görelim:

Birden Fazla Linux Ana Bilgisayarında Komutları Çalıştırın

1. Birden fazla Linux ana bilgisayarının terminalinde kök kullanıcı tarafından echo “Hello TecMint” komutunu çalıştırmak ve kök kullanıcının şifresini istemek için aşağıdaki komutu çalıştırın.

Önemli: Tüm ana bilgisayarların ana makine dosyasına dahil edilmesi gerektiğini unutmayın.

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

Not: Yukarıdaki komutta “pssh-hosts”, uzak Linux sunucusunun IP adresinin ve SSH bağlantı noktası numarasının listesini içeren bir dosyadır komutları yürütmek istediğinizi belirtin.

Birden Fazla Linux Ana Bilgisayarının Disk Kullanımını Bulma

2. Ağınızdaki birden fazla Linux sunucusundaki disk alanı kullanımını bulmak için aşağıdaki gibi tek bir komut çalıştırabilirsiniz.

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

Birden Fazla Linux Ana Bilgisayarının Çalışma Süresini Bulun

3. Birden fazla Linux sunucusunun çalışma süresini bilmek istiyorsanız, aşağıdaki komutu çalıştırabilirsiniz.

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'yi kullanmanın daha fazla yolunu öğrenmek amacıyla diğer birçok seçeneğe ulaşmak için pssh komutunun manuel giriş sayfasını görüntüleyebilirsiniz.

pssh --help

Özet

Paralel SSH veya PSSH, Sistem Yöneticisinin ağdaki birçok sunucuyla çalışmak zorunda olduğu bir ortamda komutları yürütmek için kullanılabilecek iyi bir araçtır. . Komutların ağdaki farklı ana bilgisayarlarda uzaktan yürütülmesini kolaylaştıracaktır.

Bu kılavuzu yararlı bulacağınızı umarız ve pssh hakkında ek bilgi veya onu yüklerken veya kullanırken hatalar olması durumunda, yorum göndermekten çekinmeyin.