सुरक्षित कॉपी प्रोटोकॉल

सुरक्षित कॉपी प्रोटोकॉल (एससीपी) एक स्थानीय होस्ट और एक रिमोट सर्वर (कंप्यूटिंग) या दो रिमोट होस्ट के बीच कम्प्यूटर फाइल को सुरक्षित रूप से स्थानांतरित करने का एक साधन है। यह सुरक्षित खोल (एसएसएच) प्रोटोकॉल पर आधारित है। एससीपी सामान्यतः सुरक्षित कॉपी प्रोटोकॉल और प्रोग्राम दोनों को संदर्भित करता है।

अप्रैल 2019 में ओपनएसएसएच डेवलपर्स के अनुसार, एससीपी पुराना अनम्य और आसानी से तय नहीं है; वे फाइल स्थानांतरण के लिए अधिक आधुनिक प्रोटोकॉल जैसे सुरक्षित फ़ाइल स्थानांतरण कार्यक्रम और आरएस वाईएनसी के उपयोग की सलाह देते हैं। ओपनएसएसएच संस्करण 9.0 के अनुसार, एससीपी क्लाइंट इसलिए लीगेसी एससीपी/आरसीपी प्रोटोकॉल के अतिरिक्त डिफ़ॉल्ट रूप से फ़ाइल स्थानांतरण के लिए एसएफटीपी का उपयोग करता है।

सुरक्षित कॉपी प्रोटोकॉल
एससीपी एक नेटवर्क प्रोटोकॉल है जो बीएसडी आरसीपी (यूनिक्स) प्रोटोकॉल पर आधारित है जो एक नेटवर्क पर होस्ट के बीच दस्तावेज हस्तांतरण का समर्थन करता है। एससीपी डेटा स्थानांतरण के लिए सुरक्षित खोल (एसएसएच) का उपयोग करता है और प्रमाणीकरण के लिए समान तंत्र का उपयोग करता है, जिससे सूचना सुरक्षा या पारगमन में डेटा की प्रामाणिकता और गोपनीयता सुनिश्चित होती है। एक ग्राहक वैकल्पिक रूप से उनकी मूल विशेषताओं (अनुमतियों, टाइमस्टैम्प) सहित सर्वर पर फ़ाइलें भेज (अपलोड) कर सकता है। ग्राहक सर्वर (डाउनलोड) से फ़ाइलों या निर्देशिकाओं का अनुरोध भी कर सकते हैं। एससीपी डिफ़ॉल्ट रूप से टीसीपी पोर्ट 22 पर चलता है। आरसीपी की तरह टिप्पणियों के लिए कोई अनुरोध नहीं है जो प्रोटोकॉल की निकटतम को परिभाषित करता है।

कार्य
सामान्यतः, क्लाइंट दूरस्थ होस्ट के लिए एसएसएच कनेक्शन आरंभ करता है और दूरस्थ सर्वर पर एससीपी प्रक्रिया प्रारंभ करने का अनुरोध करता है। दूरस्थ एससीपी प्रक्रिया दो में से एक मोड में काम कर सकती है: अधिकांश एससीपी ग्राहकों के लिए स्रोत मोड सामान्यतः फ्लैग (से) के साथ ट्रिगर होता है, जबकि सिंक मोड -t (to) के साथ ट्रिगर होता है। ये झंडे आंतरिक रूप से उपयोग किए जाते हैं और एससीपी स्रोत कोड के बाहर प्रलेखित नहीं होते हैं।
 * स्रोत मोड जो फ़ाइलों को पढ़ता है (सामान्यतः डिस्क से) और उन्हें क्लाइंट या वापस भेजता है
 * सिंक मोड, जो क्लाइंट द्वारा भेजी गई फाइलों को स्वीकार करता है और उन्हें (सामान्यतः डिस्क पर) रिमोट होस्ट पर लिखता है।

रिमोट से रिमोट मोड
अतीत में दूरस्थ-से-दूरस्थ सुरक्षित प्रति में एससीपी क्लाइंट स्रोत होस्ट के लिए एक एसएसएच कनेक्शन खोलता है और अनुरोध करता है कि यह बदले में गंतव्य के लिए एक एससीपी कनेक्शन खोलें (रिमोट-टू-रिमोट मोड दो एससीपी कनेक्शन खोलने और मध्यस्थ के रूप में मूल क्लाइंट का उपयोग करने का समर्थन नहीं करता है)। यह ध्यान रखना महत्वपूर्ण है कि एससीपी का उपयोग पासवर्ड या कीबोर्ड-इंटरैक्टिव प्रमाणीकरण मोड में काम करते समय स्रोत से गंतव्य तक दूरस्थ रूप से कॉपी करने के लिए नहीं किया जा सकता है क्योंकि इससे स्रोत के लिए गंतव्य सर्वर के प्रमाणीकरण प्रमाण-पत्र प्रकट होंगे। चूँकि कुंजी-आधारित या जीएसएसएपीआई विधियों के साथ यह संभव है जिसके लिए उपयोगकर्ता इनपुट की आवश्यकता नहीं होती है।

वर्तमान में रिमोट-टू-रिमोट मोड क्लाइंट के माध्यम से रूटिंग ट्रैफ़िक का समर्थन करता है जिसने स्थानांतरण की प्रारंभ की तथापि वह स्थानांतरण के लिए एक तृतीय पक्ष हो। इस तरह प्राधिकरण प्रमाणिकता केवल मूल क्लाइंट तृतीय पक्ष पर होनी चाहिए।

बातूनी शेल प्रोफाइल का उपयोग करने में समस्या
एससीपी एसएसएच लॉगिन शेल के साथ संचार करने वाले पाठ की अपेक्षा नहीं करता है। एसएसएच प्रोफाइल के कारण प्रेषित पाठ (उदाहरण के लिए echo वेलकम .bashrc फ़ाइल में) एक त्रुटि संदेश के रूप में समझा जाता है, और एक शून्य रेखा ( echo ) त्रुटि संदेश के पूरा होने की प्रतीक्षा में एससीपी क्लाइंट को गतिरोध का कारण बनता है।

सुरक्षित कॉपी (रिमोट फाइल कॉपी प्रोग्राम)
एससीपी कार्यक्रम एक सॉफ्टवेयर उपकरण है जो एससीपी प्रोटोकॉल को सर्विस डेमन या क्लाइंट के रूप में प्रयुक्त करता है। यह सुरक्षित नकल करने का कार्यक्रम है।

संभवतः सबसे व्यापक रूप से उपयोग किया जाने वाला एससीपी प्रोग्राम ओपेन सएसएच कमांड लाइन एससीपी प्रोग्राम है जो कि अधिकांश एसएसएच कार्यान्वयनों में प्रदान किया जाता है। एससीपी प्रोग्राम rcp कमांड का सुरक्षित एनालॉग है। एससीपी प्रोग्राम उन सभी एसएसएच सर्वर का भाग होना चाहिए जो एससीपी सेवा प्रदान करना चाहते हैं क्योंकि एससीपी एससीपी सर्वर के रूप में भी कार्य करता है।

कुछ एसएसएच कार्यान्वयन एससीपी2 प्रोग्राम प्रदान करते हैं जो एससीपी के अतिरिक्त एसएसएच फ़ाइल स्थानांतरण प्रोटोकॉल प्रोटोकॉल का उपयोग करता है, किंतु एससीपी के समान कमांड लाइन इंटरफ़ेस प्रदान करता है। एससीपी सामान्यतः एससीपी2 का सांकेतिक लिंक होता है।

सिंटेक्स
सामान्यतः  प्रोग्राम का सिंटैक्स   (कॉपी) के सिंटैक्स की तरह होता है:

स्थानीय फ़ाइल को दूरस्थ होस्ट में कॉपी करना: रिमोट होस्ट से फ़ाइल कॉपी करना और रिमोट होस्ट से फ़ोल्डर कॉपी करना ( -r स्विच के साथ):

ध्यान दें कि यदि रिमोट होस्ट 22 के डिफ़ॉल्ट के अतिरिक्त पोर्ट का उपयोग करता है तो इसे कमांड में निर्दिष्ट किया जा सकता है। उदाहरण के लिए होस्ट से फ़ाइल कॉपी करना:

अन्य ग्राहक
जैसा कि सुरक्षित कॉपी प्रोटोकॉल केवल फाइल स्थानांतरण को प्रयुक्त करता है जीयूआई एससीपी क्लाइंट दुर्लभ हैं क्योंकि इसे प्रयुक्त करने के लिए अतिरिक्त कार्यक्षमता (निर्देशिका (फाइल सिस्टम) लिस्टिंग कम से कम) की आवश्यकता होती है। उदाहरण के लिए विनएससीपी, एसएफटीपी प्रोटोकॉल को डिफॉल्ट करता है। एससीपी मोड में काम करते समय भी विनएससीपी जैसे क्लाइंट सामान्यतः शुद्ध एससीपी क्लाइंट नहीं होते हैं क्योंकि उन्हें अतिरिक्त कार्यक्षमता (जैसे एलएस ls कमांड) को प्रयुक्त करने के लिए अन्य साधनों का उपयोग करना चाहिए। यह बदले में प्लेटफ़ॉर्म-निर्भरता की समस्याएँ लाता है।

एसएसएच पर फाइलों के प्रबंधन के लिए अधिक व्यापक उपकरण एसएसएच फाइल स्थानांतरण प्रोटोकॉल क्लाइंट हैं।

सुरक्षा
2019 में भेद्यता की घोषणा ओपनएसएच् एससीपी उपकरण और प्रोटोकॉल से संबंधित की गई थी, जो उपयोगकर्ताओं को एससीपी क्लाइंट लक्ष्य निर्देशिका में इच्छानुसार फ़ाइलों को अधिलेखित करने की अनुमति देता है।

यह भी देखें
• SSH File Transfer Protocol (SFTP)

• Remote copy (rcp)

• Comparison of file transfer protocols

• Files transferred over shell protocol (FISH)

• FTP over SSH

• FTPS

• rsync

• Secure shell

• WinSCP