كيفية استخدام الأمر scp لنقل الملفات بأمان في Linux

لنفترض أنك تريد نقل بعض الملفات بين الخوادم على نظام Linux. هناك العديد من الطرق التي يمكنك من خلالها إنجاز المهمة ، ولكن إذا كانت أولويتك هي نقل الملفات بأمان ، فلا يزال أمامك عدد قليل من الخيارات. الحل الأسهل هو استخدام الأمر scp أو أمر النسخ الآمن لنقل ملفاتك دون القلق بشأن الأمان. سنشرح في هذه المقالة كيفية استخدام نقل الملفات بأمان باستخدام الأمر scp على نظام Linux الخاص بك.
نقل الملفات باستخدام أمر scp في Linux (2023)
ما هو الأمر scp في Linux
عندما يتعلق الأمر بنقل الملفات عبر شبكة آمنة ، يمكن أن يكون الأمر scp مفيدًا جدًا. إنه يرمز إلى بروتوكول النسخ الآمن وينقل الملفات والدلائل بين نظامين عبر اتصال SSH (Secure Shell). باستخدام ssh ، يمكنك التأكد من أمان ملفاتك حيث يتم تشفيرها افتراضيًا. بعبارات أبسط ، يعد الأمر scp إصدارًا أكثر أمانًا من الأمر cp ، والذي يمكنك قراءة كل شيء عنه في مقالة أوامر Linux Terminal الخاصة بنا.
كيفية استخدام الأمر scp: التركيب والخيارات
قبل أن نتمكن من نقل الملفات عبر scp ، دعنا نرى بناء الجملة وخيارات الأمر هنا:
scp <خيار> <[email protected]_ip_address: المسار / إلى / المصدر / الملف> <[email protected]_ip_address: الهدف / المسار>
فهم بناء الجملة:
- أولا <[email protected]_ip_address: path / to / source / file> يحدد نظام “المصدر” حيث تريد نقل ملفاتك / مجلداتك.
- ثانيًا ،[email protected]_ip_address: الهدف / المسار> يحدد النظام “الهدف” الذي تريد نقل الملفات / الدلائل إليه.
إذا تركت أيًا من المعلمات أعلاه ، فسيقوم الأمر scp في Linux أولاً بالبحث عن الملف ثم نسخ الملف محليًا. بعض خيارات الاقتران بالأمر هي:
يحدد OptionsDestination-PS أي منفذ سيتم توصيله بالنظام المضيف. إذا تم حذفه ، فسيستخدم المنفذ 22 افتراضيًا. – pPreserves أوقات التعديل وأوقات الوصول والأوضاع من الملف الأصلي عند نسخها إلى النظام الهدف. نظام المصدر ونظام الوجهة عبر نظام وكيل (مضيف انتقال). – 3 عند استخدام هذه العلامة ، فإنها تنسخ الملفات إلى كل من النظام الهدف وكذلك النظام المحلي – 4 يفرض الأمر scp لاستخدام عناوين IPv4 فقط. scp لاستخدام عناوين IPv6 فقط.
كيفية نسخ الملفات باستخدام أمر scp
قبل استخدام الأمر scp في Linux ، هناك بعض المتطلبات الأساسية التي يجب عليك الوفاء بها على كل من النظام المضيف والنظام الهدف:
- يجب تثبيت ssh
- الوصول إلى الجذر أو أي مستخدم لديه امتيازات sudo
نسخ الملفات من المضيف المحلي إلى الهدف البعيد
إذا كان لديك ملف تحتاج إلى نقله من نظامك المحلي إلى هدف بعيد ، فأنت بحاجة إلى استخدام الصيغة التالية:
scp
إذا كانت الصيغة أعلاه تبدو معقدة ، فسيتم مسحها من خلال أحد الأمثلة:
scp test.txt [email protected]: / home / remote2 / المستندات /
في المثال أعلاه:
- test.txt هو اسم الملف المراد نقله وهو موجود في الدليل الحالي للنظام المحلي.
- test هو اسم المستخدم على النظام الهدف.
- 139.144.11.105 هو عنوان IP للنظام الهدف.
- / home / remote2 / Documents / هو الموقع على النظام الهدف حيث سيتم حفظ الملف المنقول.
نسخ الملفات من المضيف البعيد إلى الهدف المحلي
إذا كنت بحاجة إلى نقل ملف من مضيف بعيد إلى جهازك المحلي ، فاستخدم بناء جملة أمر scp التالي على نظام Linux لديك:
scp
على سبيل المثال ، لنفترض أنك بحاجة إلى نقل ملف باسم test.py من الخادم البعيد الذي تعمل عليه ، استخدم هذا الأمر:
scp [email protected]: /home/test/test1.py ~ / test1.py
في هذا المثال:
- test هو اسم مستخدم المضيف البعيد.
- 10.10.11.113 هو عنوان IP للمضيف البعيد.
- /home/test/test1.py هو مسار الملف المراد نقله من المضيف البعيد.
- ~ / test1.py هو اسم الملف بعد نقله إلى الجهاز المحلي وتخزينه في الدليل الرئيسي.
نقل الملفات من مضيف بعيد واحد إلى هدف بعيد آخر
باستخدام الأمر scp ، لا يمكنك نقل الملفات بين نظامك المحلي وجهاز بعيد فحسب ، بل يمكنك أيضًا نقل الملفات بين نظامين عن بُعد. ولكن ، قبل أن تتمكن من نقل الملفات من نظام بعيد إلى نظام بعيد آخر ، يوصى بإنشاء مفتاح ssh خاص ومفتاح ssh عام على النظام المصدر وتخزين نسخة من المفتاح العام في نظام الوجهة.
بشكل عام ، يشتكي المستخدمون من الخطأ “فشل التحقق من مفتاح المضيف” عند نقل الملفات بين نظامين عن بُعد. لتجاوز الخطأ ، استخدم مفتاح ssh كإجراء إضافي. لقد أوضحنا كيف يمكنك القيام بذلك هنا:
1. قم بإنشاء زوج مفاتيح عام / خاص على الخادم المصدر باستخدام هذا الأمر:
ssh-keygen -t
2. بالنسبة لخوارزميات التشفير ، يمكنك استخدام “rsa” ، وهي الخوارزمية الأكثر استخدامًا أو أي خوارزمية أخرى من اختيارك.
3. بعد ذلك ، سيُطلب منك اختيار موقع تخزين مفتاح ssh. يمكنك إما تخزينه في أي مكان تختاره أو في الموقع الافتراضي.
4. بالنسبة لعبارة المرور ، يمكنك إدخال أي شيء من اختيارك أو تركه فارغًا بالضغط على Enter.
5. ثم انسخ المفتاح العام إلى الخادم الوجهة باستخدام الأمر أدناه. باستخدام هذا ، يمكنك حتى تسجيل الدخول إلى نظام الوجهة بدون كلمة مرور باستخدام ssh.
ssh-copy-id
ملاحظة: ستعمل طريقة تسجيل الدخول بدون كلمة مرور فقط مع المستخدم الذي أنشأت مفتاح ssh من أجله.
6. بمجرد إنشاء مفتاح ssh وتخزينه على الخادم البعيد ، استخدم صيغة الأمر scp هذا لتبادل الملفات بين نظامين عن بُعد يعملان بنظام Linux:
scp
لنفترض أنك بحاجة إلى نقل ملف باسم test.txt من مضيف بعيد إلى جهاز استقبال بعيد آخر ، استخدم الأمر:
scp [email protected]: /home/test1/test.txt [email protected]: /home/remote2/Documents/test1.txt
في هذا المثال:
- remote1 هو اسم المستخدم في مضيف المرسل البعيد
- 10.10.11.113 هو عنوان IP لمضيف المرسل البعيد
- /home/test1/test.txt هو المسار إلى الملف الذي سيتم إرساله
- remote2 هو اسم المستخدم في هدف جهاز الاستقبال البعيد
- 10.11.27.111 هو عنوان IP لهدف جهاز الاستقبال البعيد
- /home/remote2/Documents/test1.txt هو الاسم والمسار المراد حفظهما للملف الذي سيتم استلامه.
نقل ملفات متعددة باستخدام أمر scp
يمكن أن يكون نقل ملفات متعددة واحدًا تلو الآخر مهمة شاقة لأي شخص. بدلاً من ذلك ، يمكنك استخدام بناء الجملة أدناه لتبادل الملفات باستخدام الأمر scp على نظام Linux:
scp
على سبيل المثال – لنفترض أنك بحاجة إلى إرسال أربعة ملفات ، بما في ذلك test1.txt و test2.py و test3.sh و test4.c ، إلى جهاز استقبال بعيد ، يمكنك استخدام الأمر أدناه:
scp -P 22 test1.txt test2.py test3.sh test4.c [email protected]: / home / remote_1 / المستندات
دعنا نفهم كيف يعمل الأمر في المثال وماذا يفعل:
- -p 2222 يستخدم لتحديد الاتصال عبر المنفذ 22
- test1.txt test2.py test3.sh test4.c هو اسم الملفات المراد نقلها
- remote_1 هو اسم مستخدم نظام الاستقبال
- 10.10.11.113 هو عنوان IP لجهاز الاستقبال
- / home / remote_1 / المستندات تشير إلى مسار تخزين الملف المستلم.
يمكنك حتى استخدام أحرف البدل لإرسال ملفات متعددة بنفس الامتداد كما هو موضح أدناه:
scp
على سبيل المثال ، إذا كنت بحاجة إلى إرسال جميع ملفات .py إلى خادم بعيد ، فاستخدم الأمر scp أدناه في Linux Terminal:
scp * .py [email protected]: / home / remote_1 /
هنا،
- * .py يشير إلى جميع ملفات python
- remote1 هو اسم مستخدم المتلقي
- 10.10.11.113 هو عنوان IP الخاص بالمستقبل
- / home / remote_1 / هو موقع تخزين الملف المستلم
أسئلة مكررة
هل نقل الملفات SCP آمن؟
بروتوكول النسخ الآمن أو scp هو بروتوكول يعتمد على تقنية SSH ويستخدم التشفير والمصادقة لتبادل الملفات بين مضيفين. هذا يضمن أمان البيانات الكامل وتكاملها بين المضيفين.
هل SCP أكثر أمانًا من SFTP؟
كلا من بروتوكولات SCP و SFTP متساويان من حيث الأمان. الميزة الرئيسية لاستخدام scp عبر SFTP هي سرعات النقل السريعة التي تكون مفيدة بشكل خاص في الشبكات ذات زمن الانتقال العالي.
نقل الملفات بأمان باستخدام أمر scp في Linux
في وقت ما ، يحتاج كل مستخدم إلى تبادل بعض الملفات عبر الشبكة. يجعل الأمر scp من السهل نقل الملفات بأمان وفعالية حتى على شبكة ذات زمن انتقال عالٍ. بالتأكيد ، يمكن أن تكون معرفة خيارات وبناء الجملة المختلفة مفيدة أيضًا. يمكنك أيضًا الرجوع إلى أدلةنا حول كيفية إعادة تسمية ملف في Linux وكيفية حذف ملف في Linux لتحسين مهاراتك في إدارة الملفات على نظام التشغيل. نأمل أن تساعدك هذه المقالة في تعلم كيفية استخدام الأمر scp لنقل الملفات على أجهزة كمبيوتر Linux. إذا واجهت أي مشاكل أثناء استخدام الأمر ، فأخبرنا بذلك في قسم التعليقات.