خصم ٥٠٪ على جميع الخطط، لفترة محدودة. يبدأ من $2.48/mo
١٢ دقيقة متبقية
الخوادم ونظام التشغيل

SCP من الخادم البعيد إلى الجهاز المحلي - أوامر SCP في Linux

أيدا لوفجود By أيدا لوفجود ١٢ دقيقة للقراءة
نقل الملفات من الخادم البعيد إلى الجهاز المحلي عبر scp

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

بروتوكول النسخ الآمن (SCP) هو بروتوكول شبكي قوي لنقل الملفات بين أجهزة مختلفة على نفس الشبكة. في هذه المقالة، سنتعرف على هذا البروتوكول عن كثب ونستعرض إمكانات استخدام SCP من الأجهزة البعيدة إلى المحلية.

كيف يعمل SCP؟ 

يعتمد SCP على SSH (Secure Shell) لنقل الملفات. ماذا يعني ذلك عملياً؟ SSH هو بروتوكول شبكي يتيح الوصول الآمن إلى الخوادم عن بُعد، ويوفر آليات للمصادقة وتشفير البيانات والتحقق من سلامتها. يستند SCP إلى هذه الميزات الأمنية وأساليب التشفير التي يوفرها SSH لنقل الملفات عبر الشبكة بأمان. وبهذه الطريقة، يمكنك استخدام SCP من الخادم البعيد إلى الجهاز المحلي مع ضمان سرية بياناتك وأصالتها.

نقل الملفات باستخدام SCP: لماذا وكيف؟ 

يُعدّ استخدام SCP في الاتجاهين - من الخادم البعيد إلى المحلي ومن المحلي إلى البعيد - طريقة فعّالة ومرنة لنقل الملفات. يتميز SCP بمزايا عديدة في هذا المجال؛ فهو يوفر مستوى أمان أعلى مقارنةً بطرق نقل الملفات الأخرى كـ FTP. كما يتفوق SCP من حيث السرعة على بروتوكولات مثل SFTP، مما يجعله أداة ممتازة لنقل الملفات بين أجهزة Linux.

يمكنك نقل الملفات باستخدام SCP في الحالات التالية:

  • من الجهاز المحلي إلى الخادم البعيد
  • من الخادم البعيد إلى الجهاز المحلي
  • من خادم بعيد إلى خادم بعيد آخر.

لنبدأ الآن باستخدام أمر SCP على أجهزة Linux. أول خطوة هي تثبيت SSH على كلا الجهازين. تجدر الإشارة إلى أن SSH يكون مثبتاً بشكل افتراضي على معظم أجهزة Linux، وفي هذه الحالة يمكنك تخطي هذه الخطوة.

١. إعداد SSH

شغّل الأمر التالي لتثبيت SSH:

sudo apt install openssh-client

٢. توليد مفاتيح SSH

بعد ذلك، يجب على الجهاز العميل إنشاء اتصال SSH. يتطلب الاتصال الآمن بين الجهاز العميل والخادم مفتاحاً خاصاً ومفتاحاً عاماً. الأمر التالي يُنشئ زوج مفاتيح SSH:

ssh-keygen

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

لنلقِ الآن نظرة على الصيغة العامة لأمر SCP:

scp [options] [source username@IP]:/[directory/file name] [destination username@IP]:/[directory]
  • [options] > يُستبدل هذا الجزء بخيارات أمر SCP المختلفة، وسنتناولها لاحقاً.
  • [source username@IP] > يُستبدل هذا الجزء باسم المستخدم وعنوان IP للجهاز المحلي. مثال: [email protected]
  • [directory/file name] > يُستبدل هذا الجزء بمسار الملف الذي تريد إرساله.
  • [destination username@IP] > يُستبدل هذا الجزء باسم المستخدم وعنوان IP للجهاز المستقبِل.
  • [directory] > يُستبدل هذا الجزء بالمسار المطلوب للملف على الخادم البعيد.

الآن بعد أن تعرّفت على الصيغة العامة للأمر، لنستعرض جميع الخيارات المتاحة لأمر SCP:

الخيار حالة الاستخدام
-C
عند استخدام هذا الخيار، يقوم SCP بضغط الملفات أثناء نقلها.
-c <cipher>
يمكنك استخدام هذا الخيار لتحديد تشفير معين لـ SCP. على سبيل المثال: scp -c <aes128-ctr>.
-v
يعرض هذا الخيار تفاصيل العملية خطوةً بخطوة.
-l <limit in kilobytes>
يتيح لك هذا الخيار تحديد الحد الأقصى لعرض النطاق الترددي. على سبيل المثال، الأمر التالي يضبط الاستخدام على 100 كيلوبايت في الثانية: scp -l 100
-P
يتيح لك هذا الخيار تغيير منفذ SSH للخادم البعيد الذي تريد الاتصال به. يستخدم SCP المنفذ 22 افتراضياً.
-S <اسم البرنامج>
يمكنك استخدام هذا الخيار لتحديد البرنامج المستخدم في الاتصال.
-r
نسخ ملف كامل أو مجلد بالكامل بصورة تعاودية.

نقل الملفات باستخدام SCP 

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

نقل صورة باستخدام scp

SCP من المحلي إلى البعيد 

سينقل هذا الأمر ملفنا من الجهاز المحلي إلى الخادم البعيد:

scp [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

لاستخدام أمر scp مع كلمة المرور، أدخل كلمة مرور الخادم البعيد وستكون قد انتهيت.

استخدام SCP لنقل الملفات من الجهاز المحلي إلى الخادم البعيد

SCP من البعيد إلى المحلي

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

scp [username]@[IP address of the remote machine]:[path/to/the/file] [path/to/the/location]

كما ترى، كل ما فعلناه هو عكس الجزأين في هذا الأمر.

استخدام SCP لنقل الملفات من الخادم البعيد إلى الجهاز المحلي

SCP بين جهازين بعيدين

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

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

استخدام scp لنقل الملفات بين نظامين بعيدين

أوامر SCP الشائعة الأخرى

أكثر أوامر SCP شيوعاً هي النقل من خادم بعيد إلى جهاز محلي، ومن جهاز محلي إلى خادم بعيد، وبين خادمين بعيدين. لكن دعنا لا نتوقف عند هذا الحد ونستكشف أمثلة أخرى مفيدة لـ Linux scp.

١. نسخ مجلد كامل بشكل تعاودي

تخيّل أنك تريد نقل مجلد كامل بكل ما يحتويه من ملفات. نقل تلك الملفات واحداً تلو الآخر سيستغرق وقتاً طويلاً. بدلاً من ذلك، يمكنك استخدام أمر scp لنسخ المجلد بالكامل بصورة تعاودية:

scp -r [Path/to/directory] [username of the remote server]@[Ip address]:/[path/to/the/location]

يفيد هذا في سيناريوهات عديدة، منها:

  • نشر الكود: عند نشر الكود أو تطبيقات الويب، قد تحتاج إلى نقل مجلد كامل بجميع مكوناته من ملفات وسكريبتات.
  • النسخ الاحتياطي والمزامنة: إذا أردت نسخ احتياطي لمجلد بأكمله، أو مزامنة مجلدين بين الجهاز المحلي والخادم البعيد، فأنت بحاجة إلى نسخ كل المحتويات بشكل تكراري.
  • ترحيل الأنظمة: من أبرز متطلبات ترحيل الأنظمة نقل كل البيانات الحيوية دون إغفال أي جزء منها. استخدام أمر SCP مع الخيار -r يضمن لك عدم تفويت أي ملف خلال عملية النقل.

٢. تحديد سرعة نقل البيانات

إذا أردت التحكم في سرعة نقل البيانات، يمكنك استخدام الأمر التالي:

scp -l <limit> [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

لماذا قد تحتاج إلى ذلك؟
في هذين السيناريوين، يمكنك استخدام صيغة Linux scp لتحديد حد أقصى لعرض النطاق الترددي:

  • ازدحام الشبكة: عند تشبّع الشبكة بحركة المرور، يساعد تحديد عرض النطاق الترددي عبر SCP في توزيع موارد الشبكة بشكل أفضل. هذا يضمن استمرار المهام الأخرى المرتبطة بالشبكة دون أي عوائق، وهو أمر بالغ الأهمية عند نقل الملفات عبر شبكة مشتركة حيث قد تؤثر عمليتك على أنشطة المستخدمين الآخرين.
  • النقل في الخلفية: خلال عمليات SCP التي تعمل في الخلفية، كالنسخ الاحتياطي التلقائي ومزامنة البيانات، قد تستهلك هذه المهام موارد الشبكة بالكامل. في هذه الحالة، يمكنك تحديد عرض النطاق الترددي لهذه العمليات للتحكم بالموارد بفاعلية أكبر.

٣. عرض سجل تفصيلي

استخدام الخيار -v مع SCP يمنحك سجلاً تفصيلياً بمعلومات إضافية عن عملية النقل. استخدم الأمر التالي للحصول على معلومات وتغذية راجعة مفصّلة:

scp -v [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

إليك سبب أهمية هذا الأمر:

  • تشخيص الأعطال: يُظهر لك هذا الخيار تقدّم عملية النقل لحظة بلحظة، بما في ذلك حجم الملف ونسبة الاكتمال. كما يعرض رسائل الخطأ والتحذيرات. تجميع هذه البيانات يمكّنك من مراقبة عملية النقل واستكشاف أي أخطاء عند الحاجة.

٤. تحديد منفذ SSH

استخدام صيغة Linux scp مع الخيار -P يتيح لك تغيير منفذ SSH. إليك الأمر الذي يمكّنك من ذلك:

scp -P [port number] [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

قد يكون هذا مفيداً في الحالات التالية:

  • إعداد جدار الحماية: إذا كان منفذ SSH الافتراضي مقيداً، أو أردت إخفاء خدمة SSH عن التهديدات المحتملة، يمكنك تغيير منفذ SSH.

هل توجد بدائل لـ SCP؟

SCP أداة سريعة وآمنة، ومع معرفة الصيغ الصحيحة لـ Linux scp وبعض مهارات استكشاف الأخطاء، قد تكون الأداة الوحيدة التي تحتاج إليها. مع ذلك، لا بأس في الاطلاع على البدائل المتاحة.

1. rsync

rsync أداة متعددة الاستخدامات لنقل الملفات، تتميز بقدرات مزامنة متقدمة، ونقل تدريجي، ونسخ محلي وبعيد. تقلل من استهلاك عرض النطاق الترددي بنقل الفروقات فقط بين الملفات المصدر والوجهة. ومن أبرز مزاياها أنها تستطيع استئناف عمليات النقل المنقطعة من حيث توقفت.

مزايا rsync

  • مزامنة فعّالة للملفات والمجلدات.
  • يدعم خوارزمية النقل التفاضلي، مما يقلل حجم البيانات المنقولة.
  • يدعم استئناف عمليات النقل المنقطعة.

عيوب rsync

  • يتطلب تثبيت rsync على كلٍّ من النظام المصدر والنظام الهدف.
  • يستلزم إعداداً أكثر تعقيداً وخيارات أوامر إضافية مقارنةً بـ scp.

2. SFTP (بروتوكول نقل الملفات SSH)

يوفر SFTP طريقة آمنة لنقل الملفات عبر SSH، ويقدم وظائف مشابهة لـ FTP التقليدي، لكنه يعمل عبر اتصال SSH مشفر، تماماً كـ SCP. غير أن SFTP يتفوق على SCP في عدة جوانب؛ إذ لا يستطيع SCP عرض محتويات المجلدات أو إنشاءها أو حذفها وما إلى ذلك، في حين يتولى SFTP جميع هذه المهام.

مزايا SFTP

  • نقل الملفات بأمان مع التشفير الكامل.
  • القدرة على إدارة الملفات على الأنظمة البعيدة.
  • متوفر على معظم أنظمة Linux وUnix.

عيوب SFTP

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

3. FTP (بروتوكول نقل الملفات)

FTP بروتوكول نقل ملفات شائع الاستخدام، يعمل وفق نموذج العميل-الخادم ويوفر وظائف نقل ملفات أساسية.

مزايا FTP

  • يعمل على مجموعة واسعة من المنصات.
  • تتوفر له عملاء مألوفون سواء عبر سطر الأوامر أو بواجهات رسومية.

عيوب FTP

  • لا يدعم التشفير، وهو أقل أماناً من scp وsftp.
  • قد يستلزم ضبطاً إضافياً في إعدادات جدار الحماية لإنشاء الاتصالات.
  • المصادقة بنص واضح غير مشفر.

خلاصة القول، يُعدّ scp خياراً بسيطاً وموثوقاً لنقل الملفات بأمان عبر SSH، إلا أن بدائل مثل rsync وsftp وFTP قد تمنحك مزايا إضافية ومرونة أكبر وفقاً لمتطلباتك.
كيف تختار الأنسب لك؟ ضع في الاعتبار عوامل مثل الأمان، والحاجة إلى المزامنة، وسهولة الاستخدام، والتوافق مع أنظمتك وبروتوكولاتك. فإذا كان الأمان وسرية البيانات على رأس أولوياتك في نقل الملفات، فإن FTP ليس الخيار المناسب.

خلاصة 

SCP أداة سريعة وآمنة لنقل الملفات بين الأجهزة. يمكنك استخدام scp من الخادم البعيد إلى الجهاز المحلي، ومن المحلي إلى البعيد، بل وبين نظامين بعيدين في آنٍ واحد. وعلى الرغم من وجود بدائل كـ rsync تؤدي الغرض، يتفوق SCP عليها في كثير من الجوانب، لا سيما في الأمان والسرعة. في هذا المقال، تناولنا SCP وحالات استخدامه وبدائله، وأرفقنا ورقة مرجعية سريعة للصيغ الأكثر استخداماً.

الأسئلة الشائعة 

هل هناك اعتبارات أمنية يجب مراعاتها عند استخدام SCP من الخادم البعيد إلى الجهاز المحلي؟  

SCP أداة موثوقة وآمنة، ولا داعي للقلق من التهديدات الأمنية أثناء استخدامها. مع ذلك، يُنصح دائماً باتخاذ أي تدابير أمان إضافية متاحة لك.

ما هي الأخطاء الشائعة التي تحدث عند استخدام SCP من الخادم البعيد إلى الجهاز المحلي؟ 

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

  1. No such file or directory: يظهر هذا الخطأ عند تحديد رقم منفذ خاطئ، أو ضبط صلاحيات الملف بشكل غير صحيح، أو إدخال بيانات تسجيل الدخول بصورة خاطئة.
  2. فشل التحقق من مفتاح المضيف: تظهر هذه الرسالة عندما يتغير مفتاح المضيف بسبب ترقيات الخادم. يُثبت مفتاح المضيف أنك اتصلت بذلك الخادم من قبل، وحين يفشل التحقق منه، فهذا يعني أن هوية الخادم قد تغيرت. تهدف هذه الرسالة إلى حمايتك من الاتصال بخادم مزيف.

كيف أستخدم SCP لنقل الملفات بين الأنظمة البعيدة؟

لنقل الملفات بين الأجهزة باستخدام SCP بنجاح، يجب أن يكون كلا الجهازين متاحَين عبر SSH. ستحتاج أيضاً إلى عنوان IP وكلمة مرور الأجهزة البعيدة. بعد ذلك، كل ما عليك هو استخدام أمر SCP الصحيح:

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

بعد إدخال هذا الأمر، سيُطلب منك تقديم كلمة مرور الخوادم. بعدها، سيُنقل ملفك مباشرةً.

مشاركة

المزيد من المدونة

تابع القراءة.

صورة غلاف أفضل التطبيقات ذاتية الاستضافة التي يمكن تشغيلها مع Cosmos Cloud مع لوحات التطبيقات حول لوحة تحكم Cosmos.
الخوادم ونظام التشغيل

أفضل التطبيقات ذاتية الاستضافة التي يمكن تشغيلها مع Cosmos Cloud: الملفات والوسائط وكلمات المرور والأتمتة والمزيد!

Maybe قمت بإعداد Cosmos Cloud وتريد الآن معرفة التطبيقات التي تتناسب معه، أو ربما لم تحسم قرارك بشأن Cosmos بعد وتريد فقط معرفة مدى ملاءمته لسير عملك

نيك سيلفرنيك سيلفر قراءة في ١٦ دقيقة
غلاف مقارنة Portainer مقابل Cosmos Cloud لإدارة تطبيقات Docker مع مخطط إعداد هجين وكتل neon ops و access.
الخوادم ونظام التشغيل

Portainer مقابل Cosmos Cloud: الأنسب لإدارة تطبيقات Docker

إذا كنت تعرف Docker وتريد الطريقة الأنظم لتشغيل مجموعة تطبيقات متنامية، فهذه الإجابة المختصرة في المقارنة بين Portainer و Cosmos Cloud. Portainer هو الخيار الأقوى لـ

نيك سيلفرنيك سيلفر ١٤ دقيقة قراءة
رسم توضيحي لمقارنة Cosmos Cloud مقابل CasaOS مقابل Umbrel يُظهر ثلاثة مسارات ذاتية الاستضافة داخل عالم شبكة سحابية مجردة.
الخوادم ونظام التشغيل

Cosmos Cloud مقابل CasaOS مقابل Umbrel: أي منصة ذاتية الاستضافة تناسب إعدادك؟

الإجابة المختصرة هي أن CasaOS لا يزال الأسهل للبدء به، و Umbrel يتميز بأنظف تجربة منسّقة، بينما Cosmos Cloud يصبح الخيار الأمثل حين تريد تحكمًا أدق في

نيك سيلفرنيك سيلفر ١١ دقيقة قراءة

هل أنت مستعد للنشر؟ يبدأ من ٢٫٤٨ دولار/شهر.

سحابة مستقلة منذ ٢٠٠٨. AMD EPYC، NVMe، 40 Gbps. ضمان استرداد المبلغ لمدة ١٤ يومًا.