SCP और SFTP में क्या अंतर है?


161

आमतौर पर, मैं scp* nixes पर फ़ाइलों को स्थानांतरित करने के लिए कमांड का उपयोग करता हूं ।

SFTP और SCP में क्या अंतर है? क्या वे दोनों SSH पर काम नहीं करते हैं?

जवाबों:


98

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


34
अन्तरक्रियाशीलता के बारे में: आपके द्वारा वर्णित अंतर SFSS / SCP क्लाइंट के बारे में है जैसा कि OpenSSH में लागू किया गया है। यह प्रोटोकॉल के बारे में कुछ भी नहीं है। इंटरैक्टिव एससीपी क्लाइंट या गैर-इंटरैक्टिव एसएफटीपी ग्राहक को लागू करना पूरी तरह से संभव है।
मार्टिन प्रिक्रील

4
एक और बात: यदि सर्वर केवल लाइन के माध्यम से एसएफटीपी पहुंच की अनुमति देता है तो एसपीपी काम नहीं करता है ForceCommand internal-sftp। मुझे लगता है कि PermitTTY noयह scp एक्सेस को भी रोकता है, लेकिन sftp एक्सेस की अनुमति देता है, हालांकि मैं हर बार कोशिश करने पर अपने पासवर्ड को गलत कर सकता था। लेकिन उन दो चीजों को sftp को नहीं रोकना चाहिए। स्रोत: व्यक्तिगत अनुभव
ecube

क्या मैं यह मान सकता हूं कि कोई भी SFTP सर्वर SCP ट्रांसफर स्वीकार करने में सक्षम है?
गस

@gus नहीं, ecube की टिप्पणी देखें
Pere

104

से विकिपीडिया :

पहले के एससीपी प्रोटोकॉल की तुलना में, जो केवल फाइल ट्रांसफर की अनुमति देता है, एसएफटीपी प्रोटोकॉल दूरस्थ फाइलों पर कई प्रकार के संचालन की अनुमति देता है - यह रिमोट फाइल सिस्टम प्रोटोकॉल की तरह अधिक है। एक एसटीपी ग्राहक की तुलना में एक एसएफटीपी ग्राहक की अतिरिक्त क्षमताओं में बाधित स्थानांतरण, निर्देशिका लिस्टिंग और दूरस्थ फ़ाइल हटाने को फिर से शुरू करना शामिल है। [१] इन कारणों से GUI STP क्लाइंट के साथ तुलना में GUI SFTP क्लाइंट को लागू करना अपेक्षाकृत सरल है।

तथा

हालाँकि SCP और SFTP दोनों समान स्तर के ओवरहेड के साथ फ़ाइल स्थानांतरण के दौरान एक ही SSH एन्क्रिप्शन का उपयोग करते हैं, लेकिन SCP आमतौर पर फ़ाइलों को स्थानांतरित करने में SFTP की तुलना में बहुत तेज़ होता है, खासकर उच्च विलंबता नेटवर्क पर। ऐसा इसलिए होता है क्योंकि एससीपी एक अधिक कुशल स्थानांतरण एल्गोरिथ्म को लागू करता है, जिसे पैकेट पुष्टिकरण की प्रतीक्षा करने की आवश्यकता नहीं है। यह तेज गति की ओर जाता है, लेकिन हस्तांतरण को बाधित करने में सक्षम नहीं होने की कीमत पर आता है, इसलिए SFTP के विपरीत, सत्र को समाप्त किए बिना SCP हस्तांतरण रद्द नहीं किया जा सकता है।


18
"एससीपी आमतौर पर फाइलों को स्थानांतरित करने में एसएफटीपी की तुलना में बहुत तेज है।"
मीका बोलन

3
"लेकिन एक हस्तांतरण को बाधित करने में सक्षम नहीं होने की कीमत पर आता है"। यह एक बहुत महत्वपूर्ण व्यापार बंद है।
आष्टा

आआआआआआ, "सत्र को समाप्त किए बिना" जो कि एक बड़ा सौदा नहीं है यदि सभी सत्र फाइल की नकल है। यदि आप बहुत सारी फ़ाइलों की प्रतिलिपि बना रहे हैं, तो क्लाइंट किसी व्यक्तिगत फ़ाइल की प्रतिलिपि के पूरा होने की प्रतीक्षा भी कर सकता है।
विक्टर सर्जियेंको

9

विशुद्ध रूप से कमांड लाइन के नजरिए से:

  • scp में एक इंटरैक्टिव मोड नहीं है और न ही यह कमांड स्क्रिप्ट पढ़ सकता है, इसका मतलब है कि सब कुछ कमांड लाइन पर लिखा जाना चाहिए।
  • sftp में एक इंटरैक्टिव मोड है और एक फाइल से कमांड पढ़ सकते हैं।

2 आदेशों के बीच अन्य महत्वपूर्ण अंतर यह है कि sftp एक स्थानीय फ़ाइल को एक एकल कमांड लाइन का उपयोग करके दूरस्थ स्थान पर नहीं रख सकता है , हालांकि यह दूरस्थ फ़ाइल प्राप्त कर सकता है, जबकि scp दोनों कर सकते हैं

sftp को रिमोट फाइल मिलती है

sftp user@host:/path/to/remote.file [/path/to/local.file]

scp को रिमोट फाइल मिलती है

scp user@host:/path/to/remote.file [/path/to/local.file]

scp रिमोट फाइल डालें

scp /path/to/local.file user@host:[/path/to/remote.file]

2
एक फाइल sftp {user}@{host}:{remote_dir} <<< $'put {local_file_path}'
लगाना

3

SSH ( S ecure SH ell) एक क्रिप्टोग्राफ़िक नेटवर्क प्रोटोकॉल है जो एक असुरक्षित नेटवर्क पर दूरस्थ लॉगिन और अन्य नेटवर्क सेवाओं को सुरक्षित रूप से संचालित करने की अनुमति देता है।

अंतर: एसएफटीपी इंटरएक्टिव मोड (सत्र) पर काम करता है और एससीपी गैर-इंटरैक्टिव पर काम करता है। SFTP का उपयोग करके हम रिमोट फाइल सिस्टम अर्थात फाइल बनाना, डिलीट करना और लिस्टिंग करना एक्सेस कर सकते हैं।

समानता: दोनों SCP ( एस ecure सी की प्रतिलिपि बनाएं पी rotocol) और SFTP ( एस एस एच एफ इले टी ransfer पी rotocol) नेटवर्क प्रोटोकॉल है, जो एक नेटवर्क पर मेजबान के बीच फ़ाइल प्रबंधन का समर्थन करता है। दोनों SSH का उपयोग करते हैं।

अधिक


2

दो प्रोटोकॉल के अधिकांश मतभेद पहले से ही में वरबोस रूप में दर्शा अन्य उत्तर में कहा गया है, और https://unix.stackexchange.com/q/8707/19088

कर्ल के प्रलेखन के अनुसार एक और अंतर यह है कि एससीपी प्रोटोकॉल बहुत पोर्टेबल नहीं है और आमतौर पर केवल यूनिक्स सिस्टम के बीच काम करता है।

वैसे, कर्ल दोनों प्रोटोकॉल को लागू करता है और डिफ़ॉल्ट ओपनएसएसएच एसएफटीपी क्लाइंट कार्यान्वयन के विपरीत, यह एसएफटीपी और एससीपी दोनों के लिए गैर-इंटरैक्टिव है

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


2
"कर्ल के प्रलेखन के अनुसार एक और अंतर यह है कि एससीपी प्रोटोकॉल बहुत पोर्टेबल नहीं है और आमतौर पर केवल यूनिक्स प्रणालियों के बीच काम करता है।" आपके उत्तर के इस भाग की विडंबना यह है कि सबसे लोकप्रिय एससीपी GUI को WinSCP कहा जाता है, और - आपने यह अनुमान लगाया है - यह एक विंडोज प्रोग्राम है।
ब्रेट

1
@ सबसे लोकप्रिय ग्राहक शायद ओपनएसएसएच का एसपीपी है, मैं कहूंगा कि यह अत्यधिक तैनात है। WinSCP एक SCP / SFTP / etc क्लाइंट है, लेकिन आजकल इसका उपयोग अधिकतर (S) FTP क्लाइंट के रूप में किया जाता है: "जून 2003 में संस्करण 3.0 जारी किया गया था, जो SCP, SFTP प्रोटोकॉल के विकल्प के लिए समर्थन का परिचय दे रहा था। समय के साथ यह वैकल्पिक रूप से विकसित हुआ। प्राथमिक प्रोटोकॉल के बावजूद। इसके बावजूद, अच्छी तरह से स्थापित नाम "WinSCP" संरक्षित था। (WinSCP का इतिहास से: winscp.net/eng/docs/project_history)
पेरे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.