أتمتة الأوامر عبر 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