2011-09-15 5 views
21

मैंने अभी गिट ट्यूटोरियल शुरू किया है और मैं एक डेडेंड प्राप्त करता हूं: मैं आरएसए कुंजी भाग उत्पन्न करने की कोशिश करता हूं और यह विफल रहता है। मैं ऐसा किया, Git बैश में:एसएसवी कुंजी सहेजना

ssh-keygen -t rsa -C "[email protected]" 

और मुझे यह मिल गया:

Generating public/private rsa key pair. 
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa): 
enter passphrase: 
enter same passphrase again: 
open /c/Users/Eva/.ssh/id_rsa failed: no such file or directory. 
Saving the key failed:/c/Users/Eva/.ssh/id_rsa. 

मैं एक अलग फ़ोल्डर में बचाने की कोशिश की और यह ठीक चला गया। लेकिन अब मैं आदेश ssh -T [email protected] करते हैं और यह मुझे त्रुटि permisson denied (publickey).

उत्तर

6

आप एक जीयूआई उपयोग करने के लिए कुंजी

  1. उपयोग पोटीन जनरल बनाने के लिए एक महत्वपूर्ण
  2. निर्यात कुंजी
  3. @VonC ने उल्लेख किया बनाने के लिए एक खुला क्यूंकि SSH कुंजी उत्पन्न करना पसंद करते हैं। ssh निर्देशिका और फिर आप वहाँ
  4. में निजी और सार्वजनिक कुंजी ड्रॉप या एक जीयूआई प्रोग्राम का उपयोग (जैसे Tortoise Git) SSH कुंजी का उपयोग कर सकते हैं

उपर्युक्त चरणों के लिए पुटी जीन पर चलने के लिए, कृपया http://ask-leo.com/how_do_i_create_and_use_public_keys_with_ssh.html

10

ऐसा लगता है कि आप एक डॉस सत्र से कि कमांड को क्रियान्वित कर रहे हैं (this thread देखें) देता है, और है कि आप .ssh निर्देशिका बनाने की जरूरत से पहले आदेश ने कहा कि इसका मतलब है।

या आप इसे बैश सत्र (msysgit वितरण का हिस्सा) से निष्पादित कर सकते हैं, और इसे काम करना चाहिए।

+0

+1, THX, मुझे बहुत .. ".ssh" निर्देशिका ;-) – d4Rk

+0

मेरी इस मामले में मदद की याद आ रही थी सही उत्तर था, बस पथ – blissini

22

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

लाइन 2 में यह Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa): कहता है। पैराथेस में पूर्ण फ़ाइल नाम डिफ़ॉल्ट है, जाहिर है कि विंडोज इस तरह की फ़ाइल तक नहीं पहुंच सकता है। यदि आप विंडोज समकक्ष टाइप करते हैं (c:\Users\Eva\.ssh\id_rsa), तो यह काम करना चाहिए।

c:\Users\Administrator\.ssh>ssh-keygen -t rsa -C "[email protected]" 
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa): C:\Users\Administrator\.ssh\id_rsa 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in C:\Users\Administrator\.ssh\id_rsa. 
Your public key has been saved in C:\Users\Administrator\.ssh\id_rsa.pub. 
The key fingerprint is: 
... [email protected] 
The key's randomart image is:...` 

मुझे पता है कि यह एक पुराना धागा है, लेकिन मैंने सोचा कि उत्तर दूसरों की मदद कर सकता है।

+1

में निर्दिष्ट निर्देशिका बनाने के लिए भूल गए नोट करें कि आपको आदेश चलाने से पहले निर्देशिका बनाना होगा। एक के साथ शुरू एक विंडोज निर्देशिका बनाने के लिए। आपको एक रखना है इससे पहले और इसे स्वचालित रूप से हटा दिया जाएगा ".ssh।" "एसएसएच" बनाता है। – marsh

3

आपको एसएसएच कुंजी को सहेजने के लिए .ssh फ़ोल्डर बनाना है। खिड़कियों कि Git के साथ आया था पर C:/Users/you/.ssh/id_rsa

1

मैं बैश उपयोग कर रहा था:

वैसे, मैं इस पथ शैली का इस्तेमाल किया। समस्या यह थी कि मैंने टिल्ड (~) माना जो मैं अपने घर पथ को इंगित करने के लिए उपयोग कर रहा था ठीक से विस्तार करेगा। सीडी का उपयोग करते समय यह काम करता है, लेकिन इस त्रुटि को ठीक करने के लिए मुझे इसे पूर्ण पथ देना था।

1

विंडोज़ में मुझे पर्यावरण परिवर्तनीय HOME बनाना था, जो कि मेरे उपयोगकर्ता प्रोफाइल को इंगित करता है (C:\Users\<name>) या जो भी निर्देशिका आप पसंद करते हैं।

फिर एक नई कमांड लाइन विंडो शुरू करें, अपनी उपयोगकर्ता प्रोफ़ाइल में .ssh निर्देशिका बनाएं या mkdir ".ssh" कमांड का उपयोग करके निदेशालय का चयन करें।

ऐसा करने के बाद मैं बिना किसी पथ की समस्याओं के एसएसएच-कीजेन का उपयोग करने में सक्षम था।

5

मुझे एक ही समस्या थी। मुझे विंडोज सम्मेलनों का उपयोग करके पूरा पथ प्रदान करना पड़ा। इस कदम पर:

c:\users\eva\.ssh\id_rsa

+0

ओएसएक्स भी: ~/.ssh/id_rsa के बजाय मुझे/उपयोगकर्ता/ /.ssh/id_rsa – AVProgrammer

+0

हाँ, मैकोज़ पर मुझे * दूसरी * एसएसएच कुंजी I के लिए इच्छित कीफाइल के पूरे पथ में टाइप करने की आवश्यकता थी। उत्पन्न (पहला फ़ाइल नाम के साथ काम किया)। –

1

मैं बस अब थोड़ी देर के लिए एक ही समस्या के साथ संघर्ष (मैक का उपयोग कर):

Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):

निम्नलिखित मूल्य प्रदान करें।
(1) की पुष्टि करें .ssh निर्देशिका मौजूद है:: यहाँ मैं क्या किया है और यह अंत में काम किया है

#show all files including hidden 
ls -a 

(2) सिर्फ दबाकर सभी मूलभूत मूल्यों को स्वीकार शीघ्र

Enter file in which to save the key (/Users/username/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
में प्रवेश

Your identification has been saved in /Users/username/.ssh/id_rsa. 
Your public key has been saved in /Users/username/.ssh/id_rsa.pub. 
The key fingerprint is: 
BZA156:HVhsjsdhfdkjfdfhdX+BundfOytLezXvbx831/s [email protected] 
The key's randomart image is:XXXXX 

पुनश्च आप रेल के लिए Git कॉन्फ़िगर कर रहे हैं, followi कार्य करें:

आप एक संदेश मिलना चाहिए एनजी (source):

git config --global color.ui true 
git config --global user.name "yourusername" 
git config --global user.email "[email protected]" 
ssh-keygen -t rsa -C "[email protected]" 

(तब दबाकर सभी चूक स्वीकार प्रवेश)