मैं इस विषय के बारे में कुछ शोध कर रहा हूं और मैं आपको कुछ संकेत दे सकता हूं, लेकिन मुझे इसे अभी तक काम करने का कोई तरीका नहीं मिला है।
Monkeysphere
मंकीस्फेयर एक बहुत ही दिलचस्प परियोजना लगती है, लेकिन मैं मैक ओएस एक्स के तहत मैकपार्ट्स के साथ मेरी थोड़ी सी फ्री डिस्क स्पेस को बंद किए बिना इसे संकलित करने में सक्षम नहीं हूं।
Gpgkey2ssh का उपयोग करना
पहला तरीका जो मैं आपको सुझाता हूं, वह यह है कि आपकी कुंजी आईडी (जैसे, BFB2E5E3) से संगत अधिकृत_की प्रविष्टि जनरेट की जाए:
gpgkey2ssh BFB2E5E3 | tee -a ~/.ssh/authorized_keys
यहाँ मैंने इसे अपने लोकलहोस्ट में जोड़ा क्योंकि जब मैं परीक्षण प्रयोजनों के लिए एक ssh सर्वर चलाता था, लेकिन निश्चित रूप से आपको इसे लक्ष्य होस्ट में जोड़ना चाहिए ~/.ssh/authorized_keys
। आगे आपको प्रमाणीकरण के दौरान SSH को इस कुंजी के निजी भाग का उपयोग करने के लिए बताने की आवश्यकता है, लेकिन केवल कीपर के ASCII बख़्तरबंद संस्करण का निर्यात करने से काम नहीं होता है:
gpg --armor --export-secret-key BFB2E5E3! |tee ~/.ssh/id_rsa
gpg --armor --export BFB2E5E3! | tee ~/.ssh/id_rsa.pub
chmod 400 ~/.ssh/id_rsa
ssh localhost
Gpg-agent का उपयोग करना
gpg-agent
विकल्प --enable-ssh-support
है जो इसे अच्छी तरह से ज्ञात के लिए ड्रॉप-इन प्रतिस्थापन के रूप में उपयोग करने की अनुमति देता है ssh-agent
। मैंने कुछ लोगों को इस तरह ssh-add
लॉन्च करने के बाद अपनी GPG कुंजी के माध्यम से जोड़ने की कोशिश के बारे में पढ़ा है gpg-agent
:
gpg-agent --enable-ssh-support --daemon
gpg --armor --export-secret-key BFB2E5E3! | tee ~/.gnupg/exported-keys/BFB2E5E3_sec.asc
ssh-add ~/.gnupg/exported-keys/BFB2E5E3_sec.asc
लेकिन मुझे नहीं लगता कि यह कभी काम करेगा। GPG-एजेंट मैनपेज का कहना है:
SSH कीज़, जिन्हें एजेंट के माध्यम से उपयोग किया जाना है, को शुरू में ssh-add उपयोगिता के माध्यम से gpg- एजेंट में जोड़ा जाना चाहिए। जब एक कुंजी जोड़ दी जाती है, तो ssh-add प्रदान की गई फ़ाइल का पासवर्ड पूछेगा और एजेंट को असुरक्षित कुंजी सामग्री भेजेगा; यह gpg- एजेंट को एक पासफ़्रेज़ के लिए पूछने का कारण बनता है, जिसका उपयोग नई प्राप्त कुंजी को एन्क्रिप्ट करने और इसे gpg- एजेंट विशिष्ट निर्देशिका में संग्रहीत करने के लिए किया जाता है।
तो ऐसा लगता है कि gpg-agent
एक GPG एन्क्रिप्शन के साथ अपने SSH कुंजी की सुरक्षा के लिए एक अतिरिक्त उपाय के रूप में उपयोग किया जाना चाहिए।
OpenSSH के लिए एक GPG कुंजी परिवर्तित करना
Jérôme Pouiller अपने ब्लॉग में लिखते हैं कि Gpgsm उपयोगिता PCSC12 में कुंजी और प्रमाणपत्र निर्यात कर सकती है; वे तब OpenSSH द्वारा उपयोग किया जा सकता है:
gpgsm -o secret-gpg-key.p12 --export-secret-key-p12 0xXXXXXXXX
openssl pkcs12 -in secret-gpg-key.p12 -nocerts -out gpg-key.pem
chmod 600 gpg-key.pem
cp gpg-key.pem ~/.ssh/id_rsa
ssh-keygen -y -f gpg-key.pem > ~/.ssh/id_rsa.pub
लेकिन मुझे gpgsm
अपनी gpg कीपियों को स्वीकार करने का कोई तरीका नहीं मिला ।
अन्य चीजें जो आप आजमा सकते हैं
SSH के पास -I
PKCS # 11 साझा लाइब्रेरी को निर्दिष्ट करने के लिए एक विकल्प ssh
होना चाहिए जो PKCS # 11 टोकन के साथ संचार करने के लिए उपयोगकर्ता की निजी RSP कुंजी प्रदान करता है।
ssh-keygen
RSS4716 / SSH2 सार्वजनिक या निजी कुंजी, PEM PKCS8 सार्वजनिक कुंजी, और PEM सार्वजनिक कुंजियों का उपयोग OpenSSH संगत निजी (या सार्वजनिक) कुंजी का उपयोग करने के लिए -i
और -m
विकल्पों का उपयोग कर सकता है ।
फिर भी मुझे इसे एक साथ रखने का कोई तरीका नहीं मिल रहा है।
flag
एक ही उत्तर को दो बार पोस्ट करने के बजाय डुप्लिकेट ( प्रश्न के तहत लिंक का उपयोग करके) के रूप में चिह्नित कर सकते हैं । हालांकि विस्तृत प्रतिक्रिया के लिए धन्यवाद!