Pssh - একক টার্মিনাল ব্যবহার করে একাধিক রিমোট লিনাক্স সার্ভারের কমান্ডগুলি কার্যকর করুন ute


কোনও সন্দেহ নেই যে লিনাক্সের জন্য ওপেনএসএইচ একটি বহুল ব্যবহৃত এবং শক্তিশালী সরঞ্জাম, এটি আপনাকে শেলের মাধ্যমে দূরবর্তী লিনাক্স সিস্টেমের সাথে সুরক্ষিতভাবে সংযোগ করতে দেয় এবং দূরবর্তী সিস্টেমগুলিতে এবং নিরাপদে ফাইলগুলি স্থানান্তর করতে দেয় allows

তবে ওপেনএসএইচ-এর সবচেয়ে বড় অসুবিধা হ'ল আপনি একসাথে একাধিক হোস্টে একই কমান্ড চালাতে পারবেন না এবং এ জাতীয় কাজ সম্পাদনের জন্য ওপেনএসএসএইচ বিকাশ করা হয়নি। সমান্তরাল এসএসএইচ বা পিএসএসএইচ সরঞ্জামটি এখানে কাজ করে, এটি একটি অজগর ভিত্তিক অ্যাপ্লিকেশন, যা আপনাকে একই সাথে সমান্তরালে একাধিক হোস্টে কমান্ড সম্পাদন করতে দেয়।

মিস করবেন না: ডিএসএইচ সরঞ্জাম ব্যবহার করে একাধিক লিনাক্স সার্ভারে আদেশগুলি কার্যকর করুন ute

পিএসএসএইচ সরঞ্জামে ওপেনএসএসএইচের সমান্তরাল সংস্করণ এবং সম্পর্কিত সরঞ্জাম যেমন:

  1. pssh - একাধিক দূরবর্তী হোস্টের সমান্তরালে ssh চালানোর জন্য একটি প্রোগ্রাম।
  2. pscp - অনেকগুলি হোস্টের সমান্তরালে ফাইলগুলি অনুলিপি করার জন্য একটি প্রোগ্রাম।
    1. পিএসএসপি - দুটি বা আরও বেশি রিমোট লিনাক্স সার্ভারগুলিকে অনুলিপি করুন/স্থানান্তর করুন

    এই সরঞ্জামগুলি সিস্টেম প্রশাসকদের পক্ষে ভাল যারা নিজেকে কোনও নেটওয়ার্কে নোডের বড় সংগ্রহের সাথে কাজ করতে দেখেন।

    লিনাক্সে পিএসএসএইচ বা সমান্তরাল এসএসএইচ ইনস্টল করুন

    এই নির্দেশিকায়, আমরা পিপিএস কমান্ড ব্যবহার করে সেন্টোস/রেডহ্যাট এবং ডেবিয়ান ডেরাইভেটিভ যেমন উবুন্টু/মিন্টের মতো ফেডোরা ভিত্তিক বিতরণগুলিতে পিএসএসএইচ (অর্থাত্ সংস্করণ ২.৩.১) প্রোগ্রামটি ইনস্টল করার পদক্ষেপগুলি দেখব।

    পাইপ কমান্ডটি পাইথন সফ্টওয়্যার প্যাকেজ সূচী ইনস্টল ও পরিচালনা করার জন্য একটি ছোট প্রোগ্রাম (ইজিলিস্টল স্ক্রিপ্ট প্রতিস্থাপন)।

    সেন্টোস/আরএইচএল বিতরণগুলিতে, আপনাকে পিএসএসএইচ প্রোগ্রাম ইনস্টল করার জন্য প্রথমে আপনার সিস্টেমে পিপ (অর্থাত্ পাইথন-পাইপ) প্যাকেজ ইনস্টল করতে হবে।

    # yum install python-pip
    

    ফেডোরা 21+-তে, আপনার পরিবর্তে yum (ডিএনএফ প্রতিস্থাপন yum) চালাতে হবে n

    # dnf install python-pip
    

    একবার আপনি পাইপ সরঞ্জাম ইনস্টল করে নিলে, আপনি পিপ কমান্ডের সাহায্যে পিএসএস প্যাকেজটি ইনস্টল করতে পারেন shown

    # pip install pssh  
    
    /usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
      InsecurePlatformWarning
    You are using pip version 7.1.0, however version 7.1.2 is available.
    You should consider upgrading via the 'pip install --upgrade pip' command.
    Collecting pssh
    /usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
      InsecurePlatformWarning
      Downloading pssh-2.3.1.tar.gz
    Installing collected packages: pssh
      Running setup.py install for pssh
    Successfully installed pssh-2.3.1
    

    দেবিয়ান ভিত্তিক বিতরণে পিপি কমান্ড ব্যবহার করে পিএসএসএইচ ইনস্টল করতে এক মিনিট সময় লাগে।

    $ sudo apt-get install python-pip
    $ sudo pip install pssh
    
    Downloading/unpacking pssh
      Downloading pssh-2.3.1.tar.gz
      Running setup.py (path:/tmp/pip_build_root/pssh/setup.py) egg_info for package pssh
        
    Installing collected packages: pssh
      Running setup.py install for pssh
        changing mode of build/scripts-2.7/pssh from 644 to 755
        changing mode of build/scripts-2.7/pnuke from 644 to 755
        changing mode of build/scripts-2.7/prsync from 644 to 755
        changing mode of build/scripts-2.7/pslurp from 644 to 755
        changing mode of build/scripts-2.7/pscp from 644 to 755
        changing mode of build/scripts-2.7/pssh-askpass from 644 to 755
        
        changing mode of /usr/local/bin/pscp to 755
        changing mode of /usr/local/bin/pssh-askpass to 755
        changing mode of /usr/local/bin/pssh to 755
        changing mode of /usr/local/bin/prsync to 755
        changing mode of /usr/local/bin/pnuke to 755
        changing mode of /usr/local/bin/pslurp to 755
    Successfully installed pssh
    Cleaning up...
    

    উপরের আউটপুট থেকে আপনি দেখতে পাচ্ছেন যে, pssh এর সর্বশেষ সংস্করণটি ইতিমধ্যে সিস্টেমে ইনস্টল করা আছে।

    আমি কীভাবে পিএসএস ব্যবহার করব?

    পিএসএস ব্যবহার করার সময় আপনাকে পিএসএস ব্যবহার করে দূরবর্তী সিস্টেমে সংযোগের প্রয়োজন আইপি ঠিকানা এবং পোর্ট নম্বর সহ হোস্টের সংখ্যা সহ একটি হোস্ট ফাইল তৈরি করতে হবে।

    হোস্ট ফাইলের লাইনগুলি নিম্নলিখিত ফর্মটিতে রয়েছে এবং ফাঁকা লাইন এবং মন্তব্যগুলিও অন্তর্ভুক্ত করতে পারে।

    192.168.0.10:22
    192.168.0.11:22
    

    আপনি একটি নেটওয়ার্কে বিভিন্ন বা একাধিক লিনাক্স হোস্টে একটি একক কমান্ড কার্যকর করতে পারেন একটি পিএসএস কমান্ড চালিয়ে। নীচে বর্ণিত হিসাবে পিএসএস সহ অনেকগুলি বিকল্প রয়েছে:

    আমরা বিভিন্ন অপশন সহ pssh ব্যবহার করে বেশ কয়েকটি হোস্টের কমান্ড কার্যকর করার কয়েকটি উপায় দেখব।

    1. হোস্ট ফাইলটি পড়তে -h-হোস্ট_ফিল-নাম বা osts হোস্ট হোস্ট_ফाइल_নাম বিকল্পটি অন্তর্ভুক্ত করুন
    2. কোনও নির্দিষ্ট ব্যবহারকারীর সংজ্ঞা দেয় না এমন সমস্ত হোস্টে একটি ডিফল্ট ব্যবহারকারীর নাম অন্তর্ভুক্ত করতে -l ব্যবহারকারীর নাম বা ব্যবহারকারীর নাম ব্যবহার করুন
    3. প্রতিটি হোস্ট সম্পূর্ণ হওয়ার সাথে সাথে আপনি স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড ত্রুটিও প্রদর্শন করতে পারেন। -I বা lineinline বিকল্পটি ব্যবহার করে
    4. আপনি সংখ্যার সেকেন্ডের পরে সংখ্যার পরে -t সংখ্যা_ও_সেকেন্ড বিকল্পগুলি অন্তর্ভুক্ত করে সময় শেষ করতে চাইতে পারেন
    5. প্রদত্ত ডিরেক্টরিতে মান আউটপুট সংরক্ষণ করতে আপনি -o/ডিরেক্টরি/পথ বিকল্পটি ব্যবহার করতে পারেন
    6. একটি পাসওয়ার্ড জিজ্ঞাসা করতে এবং ssh এ প্রেরণ করতে -A বিকল্পটি ব্যবহার করুন

    আসুন কয়েকটি পিএসএস কমান্ডের উদাহরণ এবং ব্যবহার দেখুন:

    ১. মূল ব্যবহারকারী দ্বারা একাধিক লিনাক্স হোস্টের টার্মিনালে "হ্যালো টেকমিন্ট" প্রতিধ্বনি করতে এবং রুট ব্যবহারকারীর পাসওয়ার্ডের জন্য অনুরোধ জানাতে, নীচে এই কমান্ডটি চালান।

    গুরুত্বপূর্ণ: মনে রাখবেন যে সমস্ত হোস্ট হোস্ট ফাইলে অন্তর্ভুক্ত থাকতে হবে।

    # 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
    

    দ্রষ্টব্য: উপরের কমান্ডে "পিএসএসএইচ-হোস্টস" হল এমন একটি ফাইল যা দূরবর্তী লিনাক্স সার্ভারের আইপি অ্যাড্রেস এবং এসএসএইচ পোর্ট নম্বর সহ আপনি আদেশগুলি কার্যকর করতে চান exec

    ২. আপনার নেটওয়ার্কে একাধিক লিনাক্স সার্ভারে ডিস্ক স্পেসের ব্যবহার জানতে, আপনি নিম্নলিখিতভাবে একটি একক কমান্ড চালাতে পারেন।

    # 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
    

    ৩. আপনি যদি একসাথে একাধিক লিনাক্স সার্ভারের আপটাইম জানতে চান তবে নীচের কমান্ডটি চালাতে পারেন।

    # 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 --help
    

    সারসংক্ষেপ

    সমান্তরাল এসএসএইচ বা পিএসএসএইচ একটি পরিবেশে যেখানে সিস্টেম অ্যাডমিনিস্ট্রেটরের অনেক সার্ভারের সাথে কাজ করতে হয় এমন পরিবেশে কমান্ড কার্যকর করার জন্য ব্যবহার করার জন্য একটি ভাল সরঞ্জাম। নেটওয়ার্কের বিভিন্ন হোস্টে কমান্ডগুলি দূরবর্তীভাবে কার্যকর করা সহজ করে দেবে।

    আশা করি আপনি এই গাইডটি দরকারী এবং এটি ইনস্টল করার সময় বা ব্যবহারের সময় পিএসএসএইচ বা ত্রুটি সম্পর্কিত কোনও অতিরিক্ত তথ্য সঞ্চারিত করতে পারেন তবে একটি মন্তব্য পোস্ট করুন নির্দ্বিধায়।