यह प्रक्रिया लिनक्स और मैक ओएस पर काम करती है, बशर्ते कि वे एसएसएच एक्सेस के लिए ठीक से कॉन्फ़िगर किए गए हों। यदि आप विंडोज का उपयोग कर रहे हैं, तो आप लिनक्स जैसी कार्यक्षमता प्राप्त करने के लिए सिगविन का उपयोग कर सकते हैं, और थोड़ा tweaking के साथ, एसएसएच भी चलाएगा।
एसएसएच पर फ़ाइलों की प्रतिलिपि बनाना
सुरक्षित प्रतिलिपि वास्तव में उपयोगी कमांड है, और इसका उपयोग करना वास्तव में आसान है। कमांड का मूल प्रारूप इस प्रकार है:
scp [options] original_file destination_file
सबसे बड़ा किकर रिमोट भाग को प्रारूपित करने का तरीका है। जब आप किसी दूरस्थ फ़ाइल को संबोधित करते हैं, तो आपको इसे निम्न तरीके से करने की आवश्यकता होती है:
user@server:path/to/file
सर्वर एक यूआरएल या आईपी पता हो सकता है। इसके बाद एक कोलन होता है, फिर फ़ाइल में फ़ाइल या फ़ोल्डर का पथ। आइए एक उदाहरण देखें।
scp –P 40050 Desktop/url.txt [email protected]:~/Desktop/url.txt
इस कमांड में [-P] ध्वज है (ध्यान दें कि यह पूंजी पी है)। यह मुझे डिफ़ॉल्ट 22 के बजाय पोर्ट नंबर निर्दिष्ट करने की अनुमति देता है। मेरे सिस्टम को कॉन्फ़िगर करने के तरीके के कारण यह मेरे लिए आवश्यक है।
इसके बाद, मेरी मूल फ़ाइल "url.txt" है जो "डेस्कटॉप" नामक निर्देशिका के अंदर है। गंतव्य फ़ाइल "~ / डेस्कटॉप / url.txt" में है जो "/user/yatri/Desktop/url.txt" जैसा ही है। यह आदेश रिमोट कंप्यूटर "192.168.1.50" पर उपयोगकर्ता "yatri" द्वारा चलाया जा रहा है।
पूरी निर्देशिकाओं की प्रतिलिपि बनाने के लिए, आपको [-r] ध्वज का उपयोग करना होगा (ध्यान दें कि यह लोअरकेस आर है)।
scp –P –r …
आप बस कर सकते हैं
scp –Pr …
यहां सबसे कठिन हिस्सा यह है कि टैब पूर्णता हमेशा काम नहीं करती है, इसलिए एक एसएसएच सत्र चलाने के साथ एक और टर्मिनल रखना उपयोगी होता है ताकि आप जान सकें कि चीजें कहां रखना है।
पासवर्ड के बिना एसएसएच और एससीपी
सुरक्षित प्रति महान है। आप इसे स्क्रिप्ट में डाल सकते हैं और इसे रिमोट कंप्यूटर पर बैकअप कर सकते हैं। समस्या यह है कि आप पासवर्ड दर्ज करने के लिए हमेशा नहीं हो सकते हैं। और, ईमानदार रहें, यह एक दूरस्थ कंप्यूटर पर आपके पासवर्ड को डालने का एक बड़ा बड़ा दर्द है जिसे आप निश्चित रूप से हर समय तक पहुंच सकते हैं।
खैर, हम कुंजी फाइलों का उपयोग करके पासवर्ड का उपयोग कर सकते हैं। हम कंप्यूटर को दो प्रमुख फाइलें उत्पन्न कर सकते हैं - एक सार्वजनिक जो रिमोट सर्वर से संबंधित है, और एक निजी जो आपके कंप्यूटर पर है और उसे सुरक्षित होने की आवश्यकता है - और इन्हें पासवर्ड के बजाय इस्तेमाल किया जाएगा। बहुत सुविधाजनक, सही?
अपने कंप्यूटर पर, निम्न आदेश दर्ज करें:
ssh-keygen –t rsa
यह दो चाबियाँ उत्पन्न करेगा और उन्हें अंदर रखेगा:
~/.ssh/
आपकी निजी कुंजी के लिए "id_rsa" नाम और आपकी सार्वजनिक कुंजी के लिए "id_rsa.pub" नामों के साथ।
इसके बाद, आपको पासफ्रेज दर्ज करने के लिए कहा जाएगा। इस खाली को छोड़ने के लिए एंटर दबाएं, फिर पुष्टि के लिए पूछे जाने पर इसे दोबारा करें। अगला चरण सार्वजनिक कुंजी फ़ाइल को अपने दूरस्थ कंप्यूटर पर कॉपी करना है। आप ऐसा करने के लिए एसपीपी का उपयोग कर सकते हैं:
~/.ssh/authorized_keys2
बाद में सार्वजनिक कुंजी को इस फ़ाइल में जोड़ा जा सकता है, जो ~ /.ssh / known_hosts फ़ाइल की तरह है। इसका अर्थ यह है कि यदि आप इस सर्वर पर अपने खाते के लिए एक और सार्वजनिक कुंजी जोड़ना चाहते हैं, तो आप मौजूदा id_rsa.pub फ़ाइल की सामग्री को मौजूदा अधिकृत_कीएस 2 फ़ाइल पर एक नई पंक्ति में कॉपी करेंगे।
सुरक्षा विचार
क्या यह पासवर्ड से कम सुरक्षित नहीं है?
व्यावहारिक अर्थ में, वास्तव में नहीं। जेनरेट की गई निजी कुंजी उस कंप्यूटर पर संग्रहीत होती है जिसका आप उपयोग कर रहे हैं, और इसे कभी भी स्थानांतरित नहीं किया जाता है, यहां तक कि सत्यापित भी नहीं किया जाता है। यह निजी कुंजी केवल उस सार्वजनिक कुंजी के साथ मेल खाती है, और कनेक्शन को उस कंप्यूटर से शुरू करने की आवश्यकता है जिसमें निजी कुंजी है। आरएसए बहुत सुरक्षित है और डिफ़ॉल्ट रूप से 2048 बिट-लम्बाई का उपयोग करता है।
यह वास्तव में आपके पासवर्ड का उपयोग करने के लिए सिद्धांत में बहुत समान है। अगर किसी को आपका पासवर्ड पता है, तो आपकी सुरक्षा खिड़की से बाहर हो जाती है। अगर किसी के पास आपकी निजी कुंजी फ़ाइल है, तो मेलिंग पबिक कुंजी वाले किसी भी कंप्यूटर पर सुरक्षा खो जाती है, लेकिन इसे प्राप्त करने के लिए उन्हें आपके कंप्यूटर तक पहुंच की आवश्यकता होती है।
क्या यह और अधिक सुरक्षित हो सकता है?
आप कुंजी फाइलों के साथ एक पासवर्ड जोड़ सकते हैं। ऊपर दिए गए चरणों का पालन करें, लेकिन एक मजबूत पासफ्रेज दर्ज करें। अब, जब आप एसएसएच से कनेक्ट होते हैं या एससीपी का उपयोग करते हैं, तो आपको उचित निजी कुंजी फ़ाइल की आवश्यकता होगी साथ ही साथ उचित पासफ्रेज
एक बार जब आप अपना पासफ्रेज एक बार दर्ज कर लेंगे, तब तक आपसे इसके लिए फिर से नहीं पूछा जाएगा जब तक कि आप अपना सत्र बंद न करें। इसका मतलब है कि पहली बार जब आप एसएसएच / एससीपी, आपको अपना पासवर्ड दर्ज करना होगा, लेकिन बाद के कार्यों के लिए इसकी आवश्यकता नहीं होगी। एक बार जब आप अपने कंप्यूटर से लॉग आउट कर लें (रिमोट नहीं) या अपनी टर्मिनल विंडो बंद करें, तो आपको इसे फिर से दर्ज करना होगा। इस तरह, आप वास्तव में सुरक्षा का त्याग नहीं कर रहे हैं, लेकिन आप हर समय पासवर्ड के लिए भी परेशान नहीं हैं।
क्या मैं सार्वजनिक / निजी कुंजी जोड़ी का पुन: उपयोग कर सकता हूं?
यह वास्तव में एक बुरा विचार है। अगर कोई आपका पासवर्ड पाता है, और आप अपने सभी खातों के लिए एक ही पासवर्ड का उपयोग करते हैं, तो अब उनके पास उन सभी खातों तक पहुंच है।इसी प्रकार, आपकी निजी कुंजी फ़ाइल भी सुपर-गुप्त और महत्वपूर्ण है। (अधिक जानकारी के लिए, अपने ईमेल पासवर्ड के साथ समझौता करने के बाद कैसे पुनर्प्राप्त करें देखें)
प्रत्येक कंप्यूटर और खाते के लिए नए कुंजी जोड़े बनाना सबसे अच्छा है, जिसे आप लिंक करना चाहते हैं। इस तरह, यदि आपकी निजी कुंजी में से कोई भी किसी भी तरह पकड़ा जाता है, तो आप केवल एक दूरस्थ कंप्यूटर पर एक खाते से समझौता करेंगे।
यह भी ध्यान रखना महत्वपूर्ण है कि आपकी सभी निजी कुंजी एक ही स्थान पर संग्रहीत हैं: ~ /.ssh / अपने कंप्यूटर पर, आप एक सुरक्षित, एन्क्रिप्टेड कंटेनर बनाने के लिए TrueCrypt का उपयोग कर सकते हैं, फिर अपने ~ /.ssh में सिम्लिंक बनाएं / निर्देशिका। मैं जो कर रहा हूं उसके आधार पर, मैं अपने दिमाग को आसानी से रखने के लिए इस सुपर-पैरानोइड सुपर-सुरक्षित विधि का उपयोग करता हूं।
क्या आपने किसी भी स्क्रिप्ट में एससीपी का उपयोग किया है? क्या आप पासवर्ड की बजाय कुंजी फाइलों का उपयोग करते हैं? टिप्पणियों में अन्य पाठकों के साथ अपनी विशेषज्ञता साझा करें!