มีหลายวิธีในการดำเนินการคำสั่งหรือสคริปต์ในเครื่อง Linux ระยะไกลหลายเครื่อง วิธีหนึ่งที่ง่ายและง่ายที่สุดคือผ่านpssh (โปรแกรม ssh คู่ขนาน)
pssh : เป็นโปรแกรมสำหรับดำเนินการ ssh พร้อมกันบนโฮสต์จำนวนมาก มีคุณสมบัติเช่นการส่งอินพุตไปยังกระบวนการทั้งหมดการส่งรหัสผ่านไปยัง ssh การบันทึกเอาต์พุตไปยังไฟล์และการหมดเวลา
ตัวอย่างและการใช้งาน:
เชื่อมต่อกับ host1 และ host2 แล้วพิมพ์ "hello, world" จากแต่ละรายการ:
pssh -i -H "host1 host2" echo "hello, world"
เรียกใช้คำสั่งผ่านสคริปต์บนเซิร์ฟเวอร์หลายเครื่อง:
pssh -h hosts.txt -P -I<./commands.sh
การใช้งานและเรียกใช้คำสั่งโดยไม่ต้องตรวจสอบหรือบันทึกคีย์โฮสต์:
pssh -h hostname_ip.txt -x '-q -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes' -i 'uptime; hostname -f'
หากไฟล์ hosts.txt มีรายการจำนวนมากให้พูดว่า 100 ดังนั้นตัวเลือกการขนานอาจถูกตั้งค่าเป็น 100 เพื่อให้แน่ใจว่าคำสั่งทำงานพร้อมกัน:
pssh -i -h hosts.txt -p 100 -t 0 sleep 10000
ตัวเลือก :
-I:อ่านอินพุตและส่งไปยังแต่ละกระบวนการ ssh
-P:บอกให้ pssh แสดงผลลัพธ์เมื่อมาถึง
-h:อ่านไฟล์ของโฮสต์
-H: [user @] โฮสต์ [: port] สำหรับโฮสต์เดียว
-i:แสดงเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานเมื่อแต่ละโฮสต์ดำเนินการเสร็จสิ้น
-x args:ส่งผ่านอาร์กิวเมนต์บรรทัดคำสั่ง SSH เพิ่มเติม
อ็อพชัน -o:สามารถใช้เพื่อระบุอ็อพชันในรูปแบบที่ใช้ในไฟล์คอนฟิกูเรชัน (/ etc / ssh / ssh_config ) (~ / .ssh / config)
-p parallelism:ใช้ตัวเลขที่กำหนดเป็นจำนวนสูงสุดของการเชื่อมต่อพร้อมกัน
-q โหมดเงียบ: ทำให้ข้อความเตือนและการวินิจฉัยส่วนใหญ่ถูกระงับ
-t:ทำให้การเชื่อมต่อหมดเวลาหลังจากจำนวนวินาทีที่กำหนด 0 หมายความว่า pssh จะไม่หมดเวลาการเชื่อมต่อใด ๆ
เมื่อส่งไปยังเครื่องระยะไกลวิธีจัดการเมื่อมีข้อความแจ้งให้ตรวจสอบลายนิ้วมือ RSA
ปิดใช้งาน StrictHostKeyChecking เพื่อจัดการพรอมต์การพิสูจน์ตัวตน RSA
-o StrictHostKeyChecking = ไม่
ที่มา : man pssh