2010-07-04 7 views
8

मैं this article which explained very well how to setup pgp on osx पढ़ा है, लेकिन मैं पर हस्ताक्षर करने Git करता है के लिए उत्पन्न कुंजी का उपयोग करने की योजना बना रहा हूँ, तो मैं समझ मैं अपने अन्य कंप्यूटर के लिए कुंजी ट्रांसफर करने होंगे। क्या ये सही है? और यदि ऐसा है तो मैं चाबियों को स्थानांतरित करने के बारे में कैसे जा सकता हूं?पीजीपी निजी और सार्वजनिक कुंजी को दूसरे कंप्यूटर पर कैसे स्थानांतरित करें?

+0

कौन सा अन्य कंप्यूटर? इसके लिए आपको दो कंप्यूटर क्यों चाहिए? – igorw

+1

मेरे पास वास्तव में 3 कंप, एक जीत/मैक/उबंटू है, और मैं उन सभी पर प्रोग्राम करता हूं, और इस प्रकार एक ही हस्ताक्षर के साथ गिट में साइन रेफ की आवश्यकता होती है, इसलिए मुझे लगता है कि मुझे पीजीपी कुंजी को स्थानांतरित करने की आवश्यकता है, है ना? – erikvold

+0

igorw, बहुत ज्यादा? – shieldstroy

उत्तर

32

हाँ, आप कुंजी को स्थानांतरित करना होगा। मैक और लिनक्स एक ही काम करते हैं, ~/.gnupg में चाबियाँ संग्रहीत करते हैं। फ़ाइलों को हस्तांतरण करने का सबसे सुरक्षित तरीका scp (ssh का हिस्सा) उपयोग कर रहा है:

scp -rp ~/.gnupg othermachine: 

हालांकि, अगर आप पहले से काम कर रहा ssh की आवश्यकता होगी।

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

मैं विंडोज पर निर्देशिका के स्थान के बारे में पता नहीं है। जीपीजी दस्तावेज कहेंगे, और सामग्री लगभग निश्चित रूप से वही होगी।

प्रतिलिपि बनाई जा रही संपूर्ण कीरिंग त्वरित और आसान है, लेकिन कभी कभी आप पूरी कीरिंग अधिलेखन और चाबी वहां पहले से मौजूद खोने के बिना मशीनों के बीच अलग-अलग चाबियाँ ले जाने में सक्षम होना चाहता हूँ। चुनिंदा व्यक्तिगत चाबियों की प्रतिलिपि gpg --export-secret-key और gpg --import के साथ की जा सकती है। आप गंतव्य मशीन के लिए ssh पहुँच है, तो आप एक पाइप के साथ ऐसा कर सकते हैं और कहीं भी एक मध्यवर्ती कुंजी संग्रहीत करने की जरूरत नहीं है:

आप मशीन पहले से ही कुंजी है कि कर रहे हैं तो:

gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import 

आप मशीन है कि कुंजी की आवश्यकता है पर हैं:

ssh othermachine gpg --export-secret-key SOMEKEYID | gpg --import 

तो gpg रिमोट मशीन पर डिफ़ॉल्ट स्थानों में से एक (उदाहरण के लिए उस पर एक मैक /opt/local/bin में है) में नहीं है आप करना होगा एसएसएच के लिए अपना पूरा रास्ता दें, या इसे एक में सिमलिंक करें /usr/local/bin जैसे मानक स्थान।

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

+1

"एक यूएसबी फ्लैश ड्राइव के साथ उन्हें स्थानांतरित करना इतना अच्छा विचार नहीं है क्योंकि फ़ाइल को हटाने के बाद भी आपकी निजी कुंजी उस ड्राइव पर पीछे छोड़ी जाएगी।" खैर, यदि आप * इतने * परावर्तक हैं, तो आप स्थानांतरण के लिए कुछ सममित सिफर के साथ कुंजी को हमेशा एन्क्रिप्ट कर सकते हैं। –

+0

अच्छा विचार! धन्यवाद। –

+3

वे निजी कुंजी पहले से ही आपके द्वारा प्रदान किए गए पासफ्रेज से एन्क्रिप्ट की जाती हैं जब आपने इसे एन्क्रिप्ट किया था। इसे फिर से एन्क्रिप्ट करने से यह अधिक सुरक्षित नहीं होता है। –

-2

यह पीजीपी सॉफ्टवेयर पर निर्भर करता है। आपको बस इतना करना है - यह पाया जाता है कि आपकी कीरिंग फाइलें शारीरिक रूप से स्थित हैं, और उन फ़ाइलों को नए कंप्यूटर पर कॉपी करें। या, पीजीपी सॉफ़्टवेयर से अपनी चाबियाँ निर्यात करें, और दूसरी तरफ आयात करें।

संबंधित मुद्दे