"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني أتمتة أوامر SSH في بايثون؟

كيف يمكنني أتمتة أوامر SSH في بايثون؟

تم النشر بتاريخ 2024-11-25
تصفح:166

How Can I Automate SSH Commands in Python?

أتمتة الأوامر عبر SSH باستخدام Python

عند أتمتة مهام سطر الأوامر في Python، فإن استخدام subprocess.call() هو أسلوب شائع. ومع ذلك، بالنسبة لأوامر الجهاز البعيد التي تتطلب تسجيل الدخول عبر SSH، فإن هذه الطريقة غير كافية.

أتمتة أوامر SSH في Python

لأتمتة أوامر SSH في Python، الوحدة الموصى بها هي com.paramiko. فهو يوفر واجهة لإنشاء اتصالات SSH وتنفيذ الأوامر بشكل آمن.

إليك مثال باستخدام paramiko:

import paramiko

ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)

يؤدي هذا إلى إنشاء اتصال SSH بخادم بعيد، مع تحديد عنوان الخادم واسم المستخدم وكلمة المرور. بعد ذلك، ينفذ الأسلوب exec_command() الأمر المطلوب، ويلتقط المخرجات القياسية وتدفقات الأخطاء.

في حالة مصادقة مفتاح SSH، يمكن استخدام مقتطف التعليمات البرمجية التالي:

import paramiko

k = paramiko.RSAKey.from_private_key_file(keyfilename)
# OR k = paramiko.DSSKey.from_private_key_file(keyfilename)

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, username=user, pkey=k)

من خلال تحديد اسم الملف الرئيسي الذي يحتوي على المفتاح الخاص، يبدأ هذا الرمز اتصال SSH باستخدام المصادقة المستندة إلى المفتاح.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3