بروتوكول النسخ الآمن
بروتوكول النسخ الآمن ( SCP ) هو وسيلة لنقل ملفات الحاسوب بشكل آمن بين جهاز محلي وجهاز بعيد، أو بين جهازين بعيدين. وهو مبني على بروتوكول Secure Shell (SSH). [ 1 ] يشير مصطلح "SCP" عادةً إلى كل من بروتوكول النسخ الآمن والبرنامج نفسه. [ 2 ]
بحسب مطوري OpenSSH في أبريل 2019، فإن بروتوكول SCP قديم وغير مرن ويصعب إصلاحه؛ لذا يوصون باستخدام بروتوكولات أحدث مثل SFTP و rsync لنقل الملفات. [ 3 ] ابتداءً من إصدار OpenSSH 9.0، scpيستخدم العميل بروتوكول SFTP لنقل الملفات افتراضيًا بدلًا من بروتوكول SCP/RCP القديم. [ 4 ]
بروتوكول النسخ الآمن
بروتوكول SCP هو بروتوكول شبكي ، مبني على بروتوكول BSD RCP ، [ 5 ] ويدعم نقل الملفات بين الأجهزة المضيفة على الشبكة. يستخدم SCP بروتوكول Secure Shell (SSH) لنقل البيانات، ويستخدم نفس آليات المصادقة، مما يضمن صحة وسرية البيانات أثناء النقل . يمكن للعميل إرسال (تحميل) الملفات إلى الخادم، مع إمكانية تضمين سماتها الأساسية (الأذونات، والطوابع الزمنية). كما يمكن للعملاء طلب الملفات أو المجلدات من الخادم (تنزيلها). يعمل SCP افتراضيًا عبر منفذ TCP 22. [ 6 ] ومثل RCP، لا يوجد RFC يحدد تفاصيل البروتوكول.
وظيفة
عادةً، يقوم العميل بإنشاء اتصال SSH مع المضيف البعيد، ويطلب بدء عملية SCP على الخادم البعيد. يمكن لعملية SCP البعيدة أن تعمل في أحد الوضعين التاليين:
- وضع المصدر، الذي يقرأ الملفات (عادةً من القرص) ويرسلها مرة أخرى إلى العميل، أو
- وضع الاستقبال، الذي يقبل الملفات المرسلة من العميل ويكتبها (عادةً على القرص) على المضيف البعيد.
بالنسبة لمعظم عملاء بروتوكول SCP، يتم تفعيل وضع المصدر عادةً باستخدام -fالعلامة (from)، بينما يتم تفعيل وضع الوجهة باستخدام العلامة -t(to). [ 2 ] تُستخدم هذه العلامات داخليًا ولا يتم توثيقها خارج شفرة المصدر الخاصة ببروتوكول SCP.
وضع الاتصال عن بعد
في السابق، في النسخ الآمن عن بُعد، كان عميل SCP يفتح اتصال SSH مع المضيف المصدر ويطلب منه بدوره فتح اتصال SCP مع الوجهة. (لم يكن وضع النسخ الآمن عن بُعد يدعم فتح اتصالين SCP واستخدام العميل المصدر كوسيط). وبالتالي، لم يكن بالإمكان استخدام SCP للنسخ عن بُعد من المصدر إلى الوجهة عند العمل في وضع المصادقة بكلمة المرور أو المصادقة التفاعلية بلوحة المفاتيح، لأن ذلك كان سيكشف بيانات اعتماد مصادقة خادم الوجهة للمصدر. ومع ذلك، كان ذلك ممكنًا باستخدام طرق تعتمد على المفاتيح أو GSSAPI التي لا تتطلب إدخال المستخدم. [ 2 ]
في الآونة الأخيرة، يدعم وضع الاتصال عن بُعد توجيه حركة البيانات عبر العميل الذي بدأ عملية النقل، حتى وإن كان طرفًا ثالثًا في هذه العملية. وبهذه الطريقة، يجب أن تكون بيانات اعتماد التفويض موجودة فقط على العميل المُنشئ، أي الطرف الثالث. [ 7 ]
مشاكل استخدام ملفات تعريف الصدفة التفاعلية
لا يتوقع بروتوكول SCP وجود نص عند التواصل مع واجهة تسجيل الدخول عبر SSH. يُفسَّر النص المُرسَل من خلال ملف تعريف SSH (مثلاً echo "Welcome"في الملف) على أنه رسالة خطأ، ويؤدي وجود سطر فارغ ( ) إلى توقف عميل SCP عن العمل في انتظار اكتمال رسالة الخطأ. [ 2 ].bashrcecho ""
برنامج scp
برنامج SCP [ 8 ] هو أداة برمجية تُنفذ بروتوكول SCP كخدمة أو عميل. وهو برنامج يُستخدم لإجراء نسخ آمن.
لعلّ برنامج OpenSSH، وهو برنامج سطر أوامر ، هو الأكثر استخدامًا بين برامج SCP scp، إذ يُوفّر في معظم تطبيقات SSH. scpيُعدّ هذا البرنامج نظيرًا آمنًا للأمر rcp. scpويجب أن يكون جزءًا من جميع خوادم SSH التي ترغب في تقديم خدمة SCP، حيث scpيعمل كخادم SCP أيضًا. منذ إصدار OpenSSH 9.0، تمّ تحديث البرنامج لاستخدام بروتوكول SFTP الأحدث والأكثر أمانًا ؛ -Oكما أُضيف خيار لاستخدام SCP مع الخوادم القديمة التي تدعم SCP فقط. [ 4 ]
بناء الجملة
عادةً، يكون بناء جملة scpالبرنامج [ 9 ] مشابهًا لبناء جملة cp(النسخ) :
نسخ ملف محلي إلى مضيف بعيد:
scp LocalSourceFile user @ remotehost : directory / TargetFile
نسخ ملف من مضيف بعيد ونسخ مجلد بشكل متكرر (باستخدام -rمفتاح التبديل) من مضيف بعيد:
scp user @ remotehost : directory / SourceFile LocalTargetFile scp -r user @ host : directory / SourceFolder LocalTargetFolder
لاحظ أنه إذا كان المضيف البعيد يستخدم منفذًا غير المنفذ الافتراضي 22، فيمكن تحديده في الأمر. على سبيل المثال، نسخ ملف من المضيف:
scp -P 2222 user @ host : directory / SourceFile TargetFile
عملاء آخرون
بما أن بروتوكول النسخ الآمن ( SCP) يقتصر على نقل الملفات فقط، فإن عملاء SCP ذوي واجهة المستخدم الرسومية نادرون، إذ يتطلب تنفيذه وظائف إضافية ( مثل عرض محتويات المجلدات على الأقل). على سبيل المثال، يستخدم برنامج WinSCP بروتوكول SFTP افتراضيًا. [ 10 ] حتى عند العمل في وضع SCP، فإن عملاء مثل WinSCP لا يُعتبرون عادةً عملاء SCP خالصين، إذ يجب عليهم استخدام وسائل أخرى لتنفيذ الوظائف الإضافية (مثل lsالأمر ). [ 11 ] وهذا بدوره يُسبب مشاكل تتعلق بتوافق النظام الأساسي.
تُعد عملاء SFTP أدوات أكثر شمولاً لإدارة الملفات عبر SSH .
حماية
في عام 2019 تم الإعلان عن الثغرة الأمنية CVE - 2019-6111 [ 12 ] المتعلقة بأداة وبروتوكول OpenSSH SCP مما يسمح للمستخدمين بالكتابة فوق الملفات العشوائية في دليل هدف عميل SCP.
انظر أيضاً
مراجع
- ↑ "أمر scp في أنظمة لينكس ويونكس" . موقع Computer Hope . تم الاطلاع عليه بتاريخ 4 أغسطس 2015 .
- 1 2 3 4 بيشانيك، جان . "كيف يعمل بروتوكول SCP" . مدونة جان بيشانيك . أوراكل. مؤرشف من الأصل بتاريخ 15 فبراير 2017. تم الاطلاع عليه بتاريخ 4 أغسطس 2015 .
- ↑ "OpenSSH 8.0" . ملاحظات إصدار OpenSSH . 17 أبريل 2019.
- 1 2 "OpenSSH 9.0" . ملاحظات إصدار OpenSSH . 8 أبريل 2022.
- ↑ "scp(1) - صفحات دليل OpenBSD (قسم التاريخ)" . تم الاطلاع عليه بتاريخ 25 يونيو 2012 .
- ↑ "بروتوكول النسخ الآمن (SCP) - ما هو؟ تعريف كامل وأمثلة على الأوامر!" . تنزيلات الكمبيوتر والشبكة - PCWDLD.com . 29-06-2019 . تم الاطلاع عليه بتاريخ 22-05-2020 .
- ↑ كارول، براندون (16 أغسطس 2017). "كيفية استخدام النسخ الآمن لنقل الملفات" . TechRepublic . تم الاطلاع عليه بتاريخ 22 مايو 2020 .
- ↑ "Portable OpenSSH" . GitHub . 13 مايو 2022.
- ↑ "scp(1) - صفحات دليل OpenBSD" https://man.openbsd.org/scp
- ↑ "بروتوكولات نقل الملفات المدعومة :: WinSCP" . winscp.net . تم الاطلاع عليه بتاريخ 22-05-2020 .
- ↑ "صفحة SCP/Shell (مربع حوار إعدادات الموقع المتقدمة) :: WinSCP" . winscp.net . تم الاطلاع عليه بتاريخ 22-05-2020 .
- ↑ "NVD - Cve-2019-6111" .
- أوامر ويندوز
- برامج التشفير
- بروتوكولات التشفير
- بروتوكولات نقل الملفات عبر الشبكة
