في كثير من الأحيان هناك حالات عندما يكون الوصول إلى الخادم مطلوبًا هنا والآن. ومع ذلك ، فإن اتصال SSH ليس دائمًا الطريقة الأكثر ملاءمة ، لأن رابط SSH العميل أو عنوان الخادم أو المستخدم / كلمة المرور قد لا يكون في متناول اليد. بالطبع ، هناك
Webmin ، الذي يبسط الإدارة ، لكنه أيضًا لا يتيح الوصول الفوري.
لذلك قررت تنفيذ حل بسيط ولكنه مثير للاهتمام. وهي كتابة روبوت Telegram ، والذي سيبدأ على الخادم نفسه ، بتنفيذ الأوامر المرسلة إليه وإرجاع النتيجة. بعد أن درست
العديد من المقالات حول هذا الموضوع ، أدركت أنه لا يوجد أحد قد وصف هذه التطبيقات حتى الآن.
لقد نفذت هذا المشروع على Ubuntu 16.04 ، ولكن من أجل إطلاق خالي من المتاعب على توزيعات أخرى ، حاولت أن أفعل كل شيء بطريقة عامة.
بوت التسجيل
تسجيل روبوت جديد معBotFather. نرسل له
/newbot
وأكثر في النص. سنحتاج إلى رمز
الروبوت الجديد ومعرف الهوية الخاص بك (يمكنك الحصول عليه ، على سبيل المثال ، من
userinfobot ).
إعداد بيثون
لبدء برنامج
telebot
، سوف نستخدم مكتبة
telebot
(
pip install pytelegrambotapi
). باستخدام مكتبة العمليات
subprocess
، سنقوم بتنفيذ الأوامر على الخادم.
بوت الاطلاق
على الخادم ، قم بإنشاء ملف bot.py:
nano bot.py
والصق الكود فيه:
from subprocess import check_output import telebot import time bot = telebot.TeleBot("XXXXXXXXX:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
نستبدل الرمز المميز للبوت فيه بالرمز الذي أصدرهBotFather ، و user_id بقيمة معرّف حسابك. يعد التحقق من هوية المستخدم ضروريًا حتى يتيح لك الروبوت الوصول إلى الخادم الخاص بك فقط. تقوم
check_output()
بتنفيذ الأمر الذي تم تمريره وإرجاع النتيجة.
يبقى فقط لإطلاق الروبوت. لبدء العمليات على الخادم ، أفضل استخدام
screen
(
sudo apt-get install screen
):
screen -dmS ServerBot python3 bot.py
(حيث يكون "ServerBot" هو معرف العملية)
ستبدأ العملية تلقائيًا في الخلفية. دعنا ندخل في الحوار مع الروبوت ونتأكد من أن كل شيء يعمل كما ينبغي:

مبروك! يقوم الروبوت بتنفيذ الأوامر المرسلة إليه. الآن ، للوصول إلى الخادم ، تحتاج فقط إلى فتح مربع حوار مع الروبوت.
تكرار الأوامر
في كثير من الأحيان ، لمراقبة حالة الخادم لديك لتنفيذ نفس الأوامر. لذلك ، فإن تنفيذ تكرار الأوامر دون إرسالها مرة أخرى سيكون في غير محله.
سننفذ باستخدام الأزرار المضمّنة أسفل الرسائل:
from subprocess import check_output import telebot from telebot import types
أعد تشغيل الروبوت:
killall python3 screen -dmS ServerBot python3 bot.py
تحقق مرة أخرى من أن كل شيء يعمل بشكل صحيح:

بالضغط على الزر الموجود أسفل الرسالة ، يجب على الروبوت أن يعيد الأمر الذي تم إرسال الرسالة منه.
بدلا من الاستنتاج
بالطبع ، لا تتظاهر هذه الطريقة بأنها بديل لطرق الاتصال التقليدية ، ومع ذلك ، فهي تتيح لك معرفة حالة الخادم بسرعة وإرسال أوامر لا تتطلب إخراجًا معقدًا.