हस्ताक्षर करने के लिए एक gpg कुंजी जोड़ी गई।

सभी कॉन्फ़िगरेशन हो जाने के बाद, मैं git cli के माध्यम से साइन इन करने में सक्षम हूं।

लेकिन जब मैं vscode का उपयोग करता हूं तो यह एक टर्मिनल विंडो खोलता है ताकि मैं अपना कुंजी पासवर्ड दर्ज कर सकूं। खिड़की थोड़ी छोटी दिखाई देती है और पासवर्ड स्वीकार नहीं करती है और बनाम कोड में त्रुटि लौटाती है:

error: gpg failed to sign the data

जब मैं gpg-agent को पुनरारंभ करता हूं और cli के माध्यम से प्रतिबद्ध होने का प्रबंधन करता हूं।

जब मैं क्ली के माध्यम से पासवर्ड टाइप करता हूं, तो यह टर्मिनल के उस खंड में संग्रहीत होता है और मैं बनाम कोड के माध्यम से प्रतिबद्ध होने का प्रबंधन करता हूं। जब आप अनुभाग बंद करते हैं, तो त्रुटि वापस आ जाती है।

मैं लिनक्स उबंटू 20 के साथ wsl2 का उपयोग कर रहा हूं

-1
IsraelCena 30 अगस्त 2021, 19:23

2 जवाब

सबसे बढ़िया उत्तर

मुझे एक समाधान मिला ...

आवश्यक कदम:

https://www.gpg4win.org से GPG4Win इंस्टॉल करें। डिफ़ॉल्ट gnupg के अलावा कुछ भी आवश्यक नहीं है, लेकिन मैंने क्लियोपेट्रा को भी स्थापित किया है, अगर यह कहीं और काम में आती है।

~/.gnupg/gpg-agent.conf संपादित करें और पिनेंट्री बदलें

पिनेंट्री-प्रोग्राम "/mnt/c/प्रोग्राम फाइल्स (x86)/GnuPG/bin/pinentry-basic.exe"

0
IsraelCena 4 सितंबर 2021, 11:33

मुझे लगता है कि आपका मुद्दा है:

  • आपने VSCode को ऐसे वातावरण से प्रारंभ किया है जहां gpg-agent प्रारंभ नहीं हुआ था, और इसलिए VSCode के पास पर्यावरण चर तक पहुंच नहीं है जो इंगित करता है कि gpg-agent तक कैसे पहुंचें
  • जब आप VSCode में खोले गए टर्मिनल से gpg-agent प्रारंभ करते हैं, तो यह उस टर्मिनल के लिए परिवेश को अद्यतन करता है (प्रत्येक टर्मिनल एक अलग प्रक्रिया है) लेकिन IDE या अन्य टर्मिनलों के लिए नहीं

यह पुष्टि करने के लिए कि सही वातावरण काम कर रहा है, आप निम्न प्रयास कर सकते हैं:

  • VSCode के सभी चल रहे इंस्टेंस को बंद करें
  • एक नया टर्मिनल खोलें (जो भी शेल आप उपयोग करते हैं: बैश, पॉवरशेल, cmd.exe ...)
  • उस टर्मिनल से, अपना gpg-agent प्रारंभ करें
  • उसी टर्मिनल से, कमांड लाइन से VSCode लॉन्च करें
  • जांचें कि क्या आपके पास अभी भी VSCode के उस उदाहरण से होने वाली समस्याएं हैं

आप अपने gpg-agent को शुरू करने से पहले और बाद में यह पुष्टि करने के लिए पर्यावरण की जांच कर सकते हैं कि वेरिएबल्स अपडेट हो जाते हैं (बैश में, इसका सीधा मतलब कमांड लाइन से env या env | sort चलाना है)।

0
LeGEC 31 अगस्त 2021, 12:01