{ jS@lam }

مقالات، دروس، مقتطفات في البرمجة و تطوير المواقع و نظام لينكس

استخدام بروتوكول نقل الملفات الآمن SFTP

كتبها سلام الجهني ضمن Server Administration في

إن نقل الملفات بين أجهزة بعيدة عبر بوتوكول نقل الملفات FTP طريقة شائعة ولكنها غير آمنة و لا يحبذ استخدامها، بل من الأفضل الاعتماد على بروتوكول نقل الملفات الآمن SFTP الذي يعمل بطريقة مشابهة لكن آمنة لكونه يأتي ضمن SSH.

هناك عدة برامج بواجهات رسومية تستخدم SFTP لنقل الملفات لكن المحتوى الآتي في هذه المقالة أتحدث فيه عن استخدام SFTP من ضمن سطر الأوامر أو Terminal ﻷن مدير السيرفر قد يحتاج إلى الوصول إلى السيرفر من أماكن قد لا تتوفر فيها ادوات رسومية سهلة.

الاتصال مع سيرفر



إن SFTP يستخدم بروتوكول SSH للاتصال بالأجهزة البعيدة و لذلك نستخدم نفس اسلوب الاتصال، فإذا كنا نستخدم SSH بالشكل

$ ssh salam@SERVER-IP



للاتصال بالسيرفر لنقل الملفات نكتب الأمر:

$ sftp salam@SERVER-IP



سيطلب كلمة المرور بالتأكيد و من ثم يتم الوصول إلى الجهاز البعيد (السيرفر في هذه الحالة).

في حال كان المنفذ لمستخدم يختلف عن الافتراضي (22) وليكن x يجب كتابته في الأمر السابق بالشكل:

$ sftp -oPort=x salam@SERVER-IP



لإنهاء الاتصال نكتب الأمر exit

التجول في ملفات السيرفر و النظام المحلي



يمكن استخدام اوامر لينكس الشائعة للتنقل في شجرة الملفات مثل pwd, ls, cd و للتنقل في شجرة ملفات النظام المحلي نضيف l قبل الأمر لتصبح مثلا lls و lpwd و lcd.

مثال:

بفرض أريد الانتقال إلى المسار /home/salam/Desktop/myfiles على الجهاز المحلي:

sftp> lcd /home/salam/Desktop/myfiles


و أريد أن اكون في السيرفر ضمن المسار /home/mysite/public_html

sftp> cd /home/mysite/public_html


رفع ملفات إلى السيرفر البعيد



نستخدم لرفع ملفات الأمر put متبوعا باسم الملف المراد رفعه، يتم رفع الملف إلى مسار العمل الحالي على السيرفر و يأخذ الأمر put خيارات مثل -r لرفع مجلد بكامل محتوياته، كما يمكننا ان نكتب بعد اسم الملف أو المجلد المراد رفعه اسم جديد يتم استخدامه في السيرفر كاسم جديد للملف المرفوع.

مثال:

sftp> put pic.png person.png


sftp> put -r images


للحفاظ على الأذونات كما هي على السيرفر نستخدم الخيار -P

مثال:

sftp> put -Pr images


تنزيل ملفات موجودة على السيرفر إلى الجهاز المحلي



نستخدم من اجل ذلك الأمر get و يأخذ خيارات مشابهة للأمر put حيث يتم تنزيل الملف المختار إلى المسار الحالي في الجهاز المحلي.

مثال:

sftp> get backup.tar.gz mysitefiles_backup.tar.gz


خاتمة



قد يتساءل أحد لماذا أستخدم هكذا أوامر و هناك برامج توفر واجهات رسومية تسهل العمل؟

صحيح، هناك برامج مثل FileZilla توفر إمكانية نقل الملفات بين جهاز محلي و سيرفر بعيد من خلال واجهة رسومية سهلة و مريحة، لكن من الجيد الإلمام بأوامر sftp أيضا لكوننا قد نحتاج الوصول إلى جهاز بعيد ولا يتوفر برامج رسومية او إمكانية تنصيب برنامج جديد، منذ فترة تعطلت لوحة تحكم أحد السيرفرات التي أعمل عليها و كان من الضروري أن أقوم بتعديل ملف وليس لدي سوى سطر الأوامر للوصول إلى السيرفر و إجراء التعديلات، هكذا أمر قد يحدث و يجب إيجاد حل دائما، إضافة إلى المتعة الموجودة في كتابة اوامر ضمن Terminal.

تعليقات (1)

إضافة تعليق

يمكن استخدام الأوامر التالية لإجراء تنسيقات على النص:
[b]...[/b]
[i]...[/i]
[u]...[/u]
[center]...[/center]
[url]http(s)://...[/ur]
[url=http(s)://...]...[/url]
[small]...[/small]
[color=black|blue|brown|cyan|gray|green|COLOR]...[/color]
[code=php|css|html|js|javascript|java|react|mysql|node|bash|sh]...[/code]
[LTR]...[/LTR]

تعليقات

LesOutfiz On 2019-08-23 15:44:24

Viagra Probe Kaufen Where Can I Buy Fluoxetine Cash Delivery Cialis 20mg 4 Film <a href=http://ciali20mg.com>cialis 5 mg</a> Viagra Samples 2 Or 3 Day Shipping