'ssh-keygen' को आंतरिक या बाहरी कमांड के रूप में मान्यता नहीं मिली है


103

मै भागा git push -u origin master

यह मुझे बताता है कि "अनुमति से इनकार (सार्वजनिक कुंजी) घातक: दूरस्थ अंत अप्रत्याशित रूप से लटका हुआ है"

फिर मैंने इंटरनेट पर देखा और पाया कि मुझे GitHub पर अपने खाते के लिए एक ssh कुंजी जनरेट करनी थी। हालाँकि, ऐसा करने पर, जब मैंने ssh-keygen -t rsa "email@youremail.com" करने की कोशिश की, तो बस इतना कहा कि ssh-keygen को मान्यता नहीं है। मैंने mkdir C: \ ssh करने की कोशिश की, लेकिन यह काम नहीं किया। अगर यह मदद करता है कि मैं रूबी रेल का उपयोग कर रहा हूं और मैं विंडोज कंप्यूटर पर हूं। क्या कोई मेरी मदद कर सकता है?

जवाबों:


133

2012: msysgit
ssh-keygen.exe का हिस्सा है :

 C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe

यदि आपका %PATH%शामिल है C:\path\to\msysgit1.7.11\bin\, तो आपके पास होगा ssh-keygen


अपडेट 2015: Git For Windows
ssh-keygen.exe का हिस्सा है , जिसके रिलीज़ में पोर्टेबलगिट-2.4.3.1-2nd- रिलीज़-उम्मीदवार -64- बिट

c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin\ssh-keygen.exe

इसका मतलब है कि %PATH%शामिल होना चाहिए c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin(बिना ssh-keygen.exe)

जैसा कि मैंने पहले बताया , विंडोज के लिए Git जल्द ही msysgit से बाहर होगा।
मैंने विस्तार से कहा " यह क्यों है कि यदि आप नेट से जीआईटी 2.0 डाउनलोड करते हैं, तो आपको हमेशा 1.9.4 इंस्टॉलर पैकेज मिलता है? " यह नया संस्करण अधिक हाल के msys2 प्रोजेक्ट पर कैसे आधारित है ।


क्या ssh-keygen.exeविंडोज पर पेट में होना सुरक्षित है ? क्या मुझे उसके बाद उसका स्थान निकालने की आवश्यकता है?
ग्रीन

@Green वास्तव में, यह PATHgit के साथ आपके सत्र के दौरान केवल Windows का हिस्सा है , क्योंकि आप इसके साथ एक विशेष DOS सत्र शुरू कर रहे हैं git-cmd.bat: github.com/msysgit/msysgit/blob/master/git-cmd.bat । इसे पूरा PATHऔर सेट किया जाएगा HOME
VonC

तीक्ष्ण रूप से, पथ बिना होना चाहिए ssh-keygen.exe। मेरा मतलब है, यह मेरे लिए केवल इस तरह से काम करता है।
अलेक्जेंडर

1
@alexander मैं सहमत हूं, और मैंने उत्तर को और अधिक दृश्यमान बनाने के लिए संपादित किया है।
वॉन

7
मेरे लिए, रास्ता थाC:\Program Files (x86)\Git\usr\bin
रुपया जंजीर

65

मेरे पास बस यह मुद्दा था और मैंने सोचा था कि जो मैंने सोचा था वह इस के आसपास एक आसान तरीका था।

जब से आप अपने ईमेल पते में टिप्पणी कर रहे हों, git-bash खोलें और उसी कमांड को -C के अतिरिक्त चलाएं: ssh-keygen -t rsa -C "email@youremail.com"कमांड। बस।

जब आप गिट स्थापित करते हैं तो गिट-बैश को स्थापित किया जाना चाहिए था। अगर आपको यह नहीं मिल रहा है तो आप C: \ Program Files \ Git \ Git Bash की जांच कर सकते हैं

पहली बार जब मैंने ऐसा किया, तो यह मेरे लिए .ssh फ़ोल्डर बनाने में विफल रहा, इसलिए मुझे एक मानक कमांड प्रॉम्प्ट और mkdir C: \ Users \ yourusername \ .s को खोलना पड़ा।


15
एक और सॉफ्टवेयर पैकेज की स्थापना का सुझाव नहीं करने के लिए +1
चिप McCormick

2
+1 यह एक बेहतर समाधान है क्योंकि
ब्यूसेज़ को

मेरी कुंजी .sshफ़ोल्डर में सहेजी नहीं गई । यह उसी निर्देशिका में सहेजा गया था जो Git Bashमौजूद है।
अहमद बेहज़दी

51

मैंने विंडोज़ में नीचे का अनुसरण किया (विंडोज के लिए गिट स्थापित)

  1. "Git Gui" चलाएं (प्रारंभ -> Git -> Git Gui)
  2. मदद पर क्लिक करें और फिर SSH कुंजी दिखाएं
  3. यदि आपके पास पहले से कोई नहीं है तो जनरेट कुंजी पर क्लिक करें

नोट: - यह आपके व्यक्तिगत प्रोफाइल फोल्डर C: \ Users \ YourUserID \ .ssh \ के तहत प्रमुख फाइलें बनाता है।

यहां छवि विवरण दर्ज करें


शानदार उत्तर - नया
SSH-

9

मुझे इसे ठीक करने का एक आसान समाधान मिला:

कमांड प्रॉम्प्ट में, अपने git \ bin डायरेक्टरी में जाएं, और फिर यहां से अपनी कमांड निष्पादित करें


6
मेरे सिस्टम पर, विंडोज 10, ssh-keygen.exe 'git \ usr \ bin' में पाया गया था।
ताराबस

9

पर्यावरण चर के लिए कुछ भी जोड़ने की जरूरत नहीं है! बस गेट बैश को खोलें और वहां ssh-keygen कमांड करें।

Git bash डाउनलोड करने के लिए लिंक यहाँ


8

यदि आपने Git इंस्टॉल किया है, और C: \ Program Files पर इंस्टॉल किया गया है, तो नीचे दिए अनुसार अनुसरण करें

  1. "C: \ Program Files \ Git" पर जाएं
  2. Git-bash.exe चलाएँ, यह एक नई विंडो खोलता है
  3. नई बैश विंडो में, "ssh-keygen -t rsa -C" चलाएं।
  4. यह फ़ाइल के लिए संकेत देता है जिसमें कुंजी को सहेजना है, किसी भी मूल्य का इनपुट न करें - बस एंटर दबाएं
  5. पासफ़्रेज़ के लिए समान (दो बार), बस एंटर दबाएं
  6. id_rsa और id_rsa.pub आपके .ssh के तहत आपके होम फोल्डर में जनरेट होंगे

4

बस heroku.bat पर जाएं और जोड़ें:

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH% उपरांत @SET PATH=%HEROKU_RUBY%;%PATH%

मेरे मामले में यह D: \ Program Files (x86) \ Git \ bin में है, इसे उस पथ पर बदलें, जिसे आपने Git में स्थापित किया है। (मैंने इसे अपने पथ से छोड़ दिया ताकि यह स्पष्ट हो जाए कि इसे कैसे लिखा जाए)


3

मुझे लगता है कि आप पाथ पर्यावरण चर में ssh-keygen.exe फ़ाइल का स्थान जोड़ सकते हैं। चरणों का पालन करें: मेरे कंप्यूटर पर जाएँ-> राइट क्लिक-> गुण-> उन्नत सिस्टम सेटिंग्स-> पर्यावरण चर पर क्लिक करें। अब PATH पर क्लिक करें और फिर EDIT पर क्लिक करें। चर मान क्षेत्र में, अंत में जाएं और 'संलग्न करें; C: \ path \ to \ msysgit1.7.11 \ bin \ ssh-keygen.exe' (बिना उद्धरण के)


3

अपने कमांड प्रॉम्प्ट में कुछ भी न करें

C:\> sh

तो आप इस तरह से मिला

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "example@example.com"

यह काम करना चाहिए।


2

खिड़कियों के लिए आप इसे जोड़ सकते हैं:

SET PATH="C:\Program Files\Git\usr\bin";%PATH%



0

उन लोगों के लिए जो BASH HERE विकल्प नहीं चुनते हैं। cmd में sh टाइप करें, तो उन्हें ssh-keygen.exe सुलभ होना चाहिए


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.