كيف تقوم بالاتصال بنظام لينكس عن بعد عبر SSH

1

دائمًا ما حاز التحكم بالحواسيب عن بعد اهتمام كثير من المطورين منذ الأزل ، فظهرت الكثير من البرمجيات التي تساعدك على الوصول إلى جهازك عن بعد بعضها يَسهل عليك استخدامها مثلTeamViewer والبعض الآخر معقد بعض الشيء بالنسبة للمبتدئين أمثال SSH و Telnet.

البرمجيات أمثال TeamViewer تكون قدراتها محدودة إلى حدٍما فتتخلص في أنك تستطيع التحكم بجهاز صديقك أو نقل بعض الملفات لا أكثر ولا أقل وبالطبع تتأثر كثيرًا بسرعة الإنترنت فإذا كنت من أصحاب السرعات البطيئة فهيهات إذا استطعت استخدامه فستجد الصورة تقطع و وتتأخر بشكل كبير ولكن بالطبع هو جيد لكثير من الاستخدامات ،ولكن باستخدام SSH فإنك تستطيع القيام بكثير من الأشياء على سبيل المثال تستطيع تصفح موقع محجوب عنك وأنت في العمل من خلال حاسبك الموجود في المنزل ! ولكن باستخدام المتصفح الموجود على حاسب العمل.

Secure SHell أو كما يعرف بـ SSH هو برنامج مصمم للاتصال بالأجهزة عن بعد ولكن بطريقة مشفرة ، وهذا  يجعله مميزا عن Telnet والذي كان ينقل الأوامر و كل ما تكتب عبره كنص عادي بلا تشفير ولهذا كان من الخطر استخدامه حيث يستطيع أي شخص التجسس على الاتصال بشكل كامل باستخدام إحدى برامج تحليل بروتوكولات الشبكة أمثال Wireshark وهذا ماهو موضح في الصورة جهة اليمين ،حيث استطاع المخترق معرفة اسم المستخدم وهو jsmith وكلمة المرور وهي colts06!.

1

أما بالنسبة إلى SSH (وهو الموضح في الصورة اليسرى) فهو لا يعمل فقط بطريقة مشفرة بل يمكن تحديد نوع التشفير المُستخدم فبإمكانك الاختيار من بين إحدى أنواع التشفير التالية :AES , Triple DES, Blowfish, CAST128 Arcfour ويستخدم أيضًا طرق كثيرة للتوثيق  بين الأجهزة  المُستخدمة  مثل كلمة مرور المستخدم أو عن طريق توليد مفاتيح تلقائية للتوثيق بين الأجهزة بلا كلمات مرور  لزيادة الأمان أكثر

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

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

سنركز اليوم على نظام لينكس ، أما بالنسبة لمستخدمي ويندوز يمكنكم استخدام برنامج PuTTY وهو برنامج لاستخدام ssh على ويندوز ، هيا لنبدأ ..

في الغالب يأتي برنامج SSH منصب تلقائيا على توزيعات لينكس ولكن في حالة عدم وجوده عندك افتح الطرفية والصق الأوامر التالية :

لتوزيعات ديبيان و ابونتو و لينكس منت:

sudo apt-get install openssh-client

sudo apt-get install openssh-server

service ssh restart

systemctl enable sshd.service

أما بالنسبة إلى RedHat و CentOS:

yum install openssh

service sshd restart

systemctl enable sshd.service

ولفيدورا أبدل yum بـ dnf ، والآن انتهينا من تنصيب البرنامج.

أولًا- طريقة الولوج لجهازك باستخدام جهاز أخر على نفس الشبكة :

-في البداية يجب عليك معرفة الـIP الخاص بجهازك وذلك سيكون باستخدام الأمر ifconfig

وسيظهر الآي بي كما في الصورة :

ipconfig

ومن ثم الذهاب إلى الجهاز الآخر في الشبكة وتنفيذ الأمر التالي :

ssh username@IP

مع إبدال username  باسم المستخدم الخاص بك على جهازك

وإبدال IP بعنوان الآي بي المستخرج في الخطوة السابقة

في حالتي اليوزر هو hamza والآي بي هو 192.168.1.7

في البداية سيطلب منك التأكيد على اتصالك ومن ثم سيطلب منك الباسورد الخاص باسم المستخدم الخاص بك

2

انتهينا .. أنت الآن داخل جهازك ! يمكنك الآن كتابة ما تريد من أوامر وسيتم تطبيقها على حاسبك

تشغيل برامج معينة من حاسبك والعمل عليها عن بعد

لا تقف قدرة SSH على الدخول إلى الطرفية وحسب ! بل تستطيع تشغيل البرامج الموجودة على حاسبك وتستعملها وكأنك جالس عليه ، فإذا كنت تريد تشغيل متصفح فايرفوكس مثلا من حاسبك الأصلي ولكن من حاسب آخر على الشبكة ستقوم في البداية بتطبيق الأمر التالي على حاسبك الأصلي:

sudo gedit /etc/ssh/sshd_config

ومن ثم عليك البحث عن هذه الأسطر الثلاثة

X11Forwarding yes

X11DisplayOffset 10

X11UseLocalhost yes

وحذف علامة # التي بجانبهم ومن ثم الضغط على زر Save  كما في الصورة.

3

أما من جهة الجهاز الآخر سنقوم بتسجيل الدخول منه كما في الطريقة السابقة ولكن بتعديل بسيط فيكون الأمر كالتالي :

ssh -X username@IP

مع تبديل username و IP

بعد تسجيل الدخول بنجاح ستقوم بكتابة firefox في الطرفية فتستجده فتح و بهذا ستعمل النسخة التي على جهازك الأصلي وليست الموجودة على الجهاز الآخر المُستخدم ..

4

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

وذلك باستخدام الأمر التالي :

ssh -L 8080:www.example.com:80 username@IP
مع إبدال :www.example.com برابط الموقع المطلوب

ومن ثم فتح متصفح جهاز عملك وكتابة هذا العنوان
http://localhost:8080

فستجده فتح الموقع المٌدخل بكفاءة وسرعة .

ثانيًا : طريقة الولوج لجهازك باستخدام جهاز أخر على على الإنترنت

الطريقة مشابهة جدًا لما طبقناه سابقًا ولكن باستخدام الآي بي الخارجي والذي يمكنك الحصول عليه من الموقع التالي : http://whatismyip.org/ ،،ولكن يتبقى أمر واحد وهو استخدام  الآي بي  الداخلي الخاص بحاسبك  من الأداة ifconfig ستقوم بعمل Port Forwarding للبورت رقم 22 إلى هذا الآي بي من الراوتر الخاص بك ..

https://www.arageek.com/tech/2015/12/22/how-to-do-port-forwarding.html

بعد عمل Port Forwarding : ستقوم باستخدام نفس الأوامر السابقة ولكن باستخدام الآي بي الخارجي من موقع whatismyip .

فإذا كان الآي بي الخارجي لك هو 179.180.2.37ستقوم بكتابة الأوامر هكذا
ssh username@179.180.2.37

الخلاصة

توفر أداة  ssh كثير من المميزات  لا نستطيع حصرها في مقالة واحدة ولكننا تناولنا أبرزها ، يمكنك استخدام برامج أخرى مثل TeamViewer أو Ammyy Admin للقيام بأمور مشابه لما تفعله ssh ولكن تأكد من أنها لن تكون بنفس الجودة ،إذا كانت لك تجربة جيدة مع SSH فسارع وشاركها معنا .

1