विंडोज 10 एसएसएच कुंजी


112

मुझे अपनी SSH कुंजियाँ प्राप्त करने में बहुत कठिन समय हो रहा है और विंडोज 10 को स्थापित करने के बाद चल रहा है। सामान्य विधि इसे बना रही है और इसे उपयोगकर्ता के खाते में अंडरशश के रूप में फेंक दें। यह फ़ोल्डर विंडोज 10 में उपलब्ध नहीं है।

किसी और ने यह अनुभव किया? मुझे अलग-अलग रेपो के लिए 3 एसएसएच कीज की जरूरत है और यह वास्तव में मुझे पकड़ रहा है।


2
क्या विंडोज़ 10 छुपा हुआ है डॉट फोल्डर?
लेलैंड बार्टन

नहीं, यह वही है जो मैंने पहले भी सोचा था, लेकिन यह स्थापना के बाद से कुछ जोड़ दिया है।
रुडनेट


3
@MartinPrikryl चूंकि लिनक्स पर बहुत सारे कोडिंग, Github का उपयोग, आदि में ssh और .sh कुंजियाँ शामिल हैं, मैं तर्क दूंगा कि यह Stackoverflow के लिए विषय पर है।
डेसीज़

2
मैं मार्टिन से सहमत हूं। एक प्रोग्रामिंग प्रश्न एक प्रोग्राम लिखने के बारे में एक प्रश्न है, न कि कोई प्रश्न जो एक प्रोग्रामर पूछ सकता है।
बेकन बिट्स

जवाबों:


130
  1. विंडो कमांड लाइन खोलें (सर्च बॉक्स पर "cmd" टाइप करें और एंटर करें)।
  2. यह आपके होम फोल्डर को डिफॉल्ट करेगा, इसलिए आपको cdअलग से इसकी आवश्यकता नहीं है ।
  3. प्रकार ssh-keygen
  4. निर्देशों का पालन करें और आप जाने के लिए अच्छे हैं
  5. आपकी ssh कुंजियों को chosed डायरेक्टरी में संग्रहित किया जाना चाहिए, डिफ़ॉल्ट है: /c/Users/YourUserName/.ssh/id_rsa.pub

ps: यदि आपने बैश एकीकरण के साथ गिट स्थापित किया है (मेरे जैसे) पहले चरण में "cmd" के बजाय "Git Bash" खोलें


36
यह बहुत अच्छा लगता है सिवाय इसके कि यह काम नहीं करता है। कोई आदेश नहीं हैssh-keygen
roberto tomás

10
किसी कारण से मुझे ssh-keygenकमांड को शेल्ड-शेल के बजाय गिट-बैश शेल में चलाना पड़ा ।
ओलिएन ०४

6
इसके लिए आप Git Bash sheel या git cmd का उपयोग कर सकते हैं, आप Windows cmd का उपयोग नहीं कर सकते।
पवन टी

6
दिसंबर 2018 तक, इसने मेरे लिए विन 10 में बॉक्स से बाहर काम किया
उर्स

1
@Suncatcher हाँ। Github, DigitalOcean, आदि में लॉग इन करने के लिए आपको सार्वजनिक कुंजी की आवश्यकता होती है जो उसी फ़ोल्डर में "id_rsa.pub" में होती है। जहाँ आप अपनी SSH कुंजी जोड़ने की जरूरत है उसे नोटपैड और कॉपी पेस्ट जैसे पेस्ट के साथ खोलें और पेस्ट करें।
गोज

57

2019-04-07 अद्यतन: मैंने आज विंडोज़ 10 के नए संस्करण (1809, "2018 अक्टूबर के अपडेट" का निर्माण) के साथ परीक्षण किया और न केवल खुला एसएसएच क्लाइंट अब बीटा में नहीं है, क्योंकि यह पहले से ही स्थापित है। तो, आपको बस इतना करना है कि कुंजी बनाएं और अपने ग्राहक को पोटीन के बजाय खुले एसएसएच का उपयोग करने के लिए सेट करें:

  1. ओपन कमांड प्रॉम्प्ट (cmd)
  2. दर्ज करें ssh-keygenऔर दर्ज करें दबाएं
  3. सभी सेटिंग्स में एंटर दबाएं। अब आपकी कुंजी c: \ Users \ .ssh \ id_rsa.pub में सहेजी गई है
  4. अपने git क्लाइंट को खोलें और ओपन SSH का उपयोग करने के लिए इसे सेट करें

मैंने गेट एक्सटेंशन और सोर्स ट्री पर परीक्षण किया और इसने GitHub में मेरे व्यक्तिगत रेपो के साथ काम किया। यदि आप पहले के विंडोज़ संस्करण में हैं या एसएसएच के लिए एक ग्राफिकल क्लाइंट पसंद करते हैं, तो कृपया नीचे पढ़ें।

2018-06-04 UDPATE:

विंडोज़ 10 पर, संस्करण 1709 (जीत + आर और winverबिल्ड नंबर को खोजने के लिए टाइप करें) के साथ शुरू, माइक्रोसॉफ्ट ओपनएसएसएच क्लाइंट और सर्वर का एक बीटा जारी कर रहा है। एक कुंजी बनाने में सक्षम होने के लिए, आपको ओपनएसएसएच सर्वर स्थापित करना होगा। यह करने के लिए, इन उपायों का पालन करें:

  1. स्टार्ट मेन्यू खोलें
  2. "वैकल्पिक सुविधा" टाइप करें
  3. "एक वैकल्पिक सुविधा जोड़ें" चुनें
  4. "एक सुविधा जोड़ें" पर क्लिक करें
  5. "ओपन एसएसएच क्लाइंट" स्थापित करें
  6. कंप्यूटर को पुनरारंभ

अब आप एक प्रॉम्प्ट खोल सकते हैं ssh-keygenऔर क्लाइंट को विंडोज़ द्वारा पहचाना जाएगा। मैंने इसका परीक्षण नहीं किया है। यदि आपके पास विंडोज़ 10 नहीं है या बीटा का उपयोग नहीं करना चाहते हैं, तो नीचे दिए गए निर्देशों का पालन करें कि पोटीन का उपयोग कैसे करें।


ssh-keygenखिड़कियों के साथ स्थापित नहीं आता है। यहाँ पोटीन के साथ एक ssh कुंजी बनाने का तरीका बताया गया है:

  1. पोटीन स्थापित करें
  2. पुट्टीजेन खोलें
  3. कुंजी और बाइट्स की संख्या का उपयोग करने के लिए जाँच करेंपुट्टीजेन पैरामीटर
  4. प्रगति पट्टी पर माउस ले जाएँ माउस इनपुट के साथ कुंजी बनाना
  5. अब आप पासफ़्रेज़ को परिभाषित कर सकते हैं और सार्वजनिक और निजी कुंजी सहेज सकते हैं कुंजी बनाया संवाद

ओपनश कीज़ के लिए, कुछ और चरणों की आवश्यकता होती है:

  1. टेक्स्ट को "चिपकाने के लिए सार्वजनिक कुंजी" से टेक्स्ट कॉपी करें और इसे "id_rsa.pub" के रूप में सहेजें।
  2. ओपनश प्रारूप में निजी कुंजी को सहेजने के लिए, रूपांतरण पर जाएं-> ओपनएसएसएच कुंजी निर्यात करें (यदि आपने एक पासक को परिभाषित नहीं किया है तो यह आपको पुष्टि करने के लिए कहेगा कि आप पास कुंजी नहीं चाहते हैं) OpenSSH प्रारूप में कुंजी परिवर्तित करने के लिए मेनू
  3. इसे "id_rsa" के रूप में सहेजें

अब जब चाबी बच गई। pagentवहां निजी कुंजी शुरू करें और जोड़ें (पुट्टी के प्रारूप में ppk फ़ाइल) पेजेंट कीज डायलॉग

याद रखें कि pagentप्रमाणीकरण कार्य करने के लिए चलना चाहिए


6
ssh-keygen को विंडोज़ 10 में शामिल किया गया है, जो निश्चित नहीं है कि कौन सा संस्करण, "वैकल्पिक विशेषताएं प्रबंधित करें"
sebbu

1
@sebbu वास्तव में, अब विंडोज़ 10 पर आप "एसएसएल वैकल्पिक सुविधाओं को प्रबंधित करें" में ओपन एसएसएच सर्वर का एक बीटा स्थापित कर सकते हैं और यह आपको कुछ अन्य चीजों के साथ ssh-keygen मिलेगा। लेकिन यह स्थापित नहीं है और इसे ढूंढना बिल्कुल आसान नहीं है। मैं अपना जवाब अपडेट करूंगा।
franksands

1
SK प्रमाणीकरण करने के लिए @KarlMorrison पेजेंट है। यह आमतौर पर स्टार्ट मेनू में पाया जाता है।
फ्रैंक

1
आपको ओपन एसएसएच सर्वर स्थापित करने की आवश्यकता नहीं है। ओपन SSH क्लाइंट सुविधा में ssh-keygen शामिल है।
ओनोट्स

1
@Onots मैं खिड़कियों 10 (2018 अक्टूबर अद्यतन) और का एक नया संस्करण के साथ परीक्षण न केवल खुला SSH ग्राहक के लिए पर्याप्त है, लेकिन यह पहले से ही स्थापित आता है: डी मैं अपने जवाब को अपडेट कर देंगे
franksands

31

विन्डोज़: यदि आपके पास स्थापित विंडोज़ के लिए गिट है तो उसके फोल्डर में जाएँ।

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

बिन निर्देशिका में देखो। एक sh.exe फ़ाइल है। उसको चलाओ।

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

फिर टाइप करें:

ssh-keygen -t rsa -C "आपका ईमेल यहाँ"

निर्देशों का पालन करें और फिर टाइप करें:

बिल्ली ~ /। ssh / id_rsa.pub | क्लिप

यह आपके क्लिपबोर्ड की कुंजी को कॉपी करता है। अब आप उस सार्वजनिक कुंजी को सर्वर साइड पर पेस्ट कर सकते हैं।


13
  1. विंडो कमांड लाइन खोलें (सर्च बॉक्स पर "cmd" टाइप करें और एंटर करें)।
  2. यह आपके होम फोल्डर को डिफॉल्ट करेगा, इसलिए आपको cdअलग से इसकी आवश्यकता नहीं है ।
  3. प्रकार mkdir .ssh

9

चेतावनी: यदि आप C: /User/username/.ssh (डिफ़ॉल्ट स्थान) के तहत अपनी कुंजियाँ सहेज रहे हैं , तो सुनिश्चित करें कि कहीं न कहीं आपकी कुंजी का बैकअप लें (जैसे आपका पासवर्ड मैनेजर)।

सबसे हाल ही में विंडोज 10 अपडेट (संस्करण 1607) के बाद, मेरा .ssh फ़ोल्डर खाली था। यह वह जगह है जहां मेरी कुंजी हमेशा से रही है, लेकिन विंडोज ने अपडेट करते समय उन्हें हटाने का फैसला किया।

शुक्र है कि मैंने अपनी चाबी वापस कर ली थी ... लेकिन ... मुझे यकीन है कि कुछ लोग आज अपने पीसी पर भरोसा करेंगे।


तो अधिकांश ऐप्स आपसे अपनी कुंजियाँ संग्रहीत करने की अपेक्षा कहाँ करते हैं?
वॉचक्रैन

3
शायद उस फ़ोल्डर में जो विंडोज़ 10 को अपग्रेड करते समय बेतरतीब ढंग से मिटा देता है?
एंड्रयू

8

मैं Microsoft Windows 10 Pro, संस्करण 10.0.17763 Build 17763 बना रहा हूं, और मैं अपने .ssh फ़ोल्डर को C: \ Users \ jrosario \ .ssh में आसानी से अनुमति या कुछ भी संपादित किए बिना देख सकता हूं (हालांकि फ़ाइल एक्सप्लोरर में, मैंने चयन किया था। "छिपी हुई फ़ाइलें, फ़ोल्डर और ड्राइव दिखाएं"): यहां छवि विवरण दर्ज करें

कुंजियों को ज्ञात_होस्ट नामक पाठ फ़ाइल में संग्रहीत किया जाता है, जो लगभग इस तरह दिखता है: यहां छवि विवरण दर्ज करें


5

मुझे एक उल्लेखनीय अपवाद मिला कि विंडोज 10 में, वर्णित मार्ग का उपयोग करके केवल फ़ोल्डर में फाइलें लिखी हैं यदि फ़ाइल नाम जहां ssh-keygen जनरेटर में निर्दिष्ट नहीं हैं

कस्टम कुंजी नाम देने से RSA सार्वजनिक और निजी कुंजी युक्त फ़ाइलों को फ़ोल्डर में नहीं लिखा जाना चाहिए।

  • विंडोज़ कमांड लाइन खोलें
  • प्रकार ssh-keygen
  • फ़ाइल का नाम खाली छोड़ दें, बस रिटर्न दबाएँ,
  • अपना पासफ़्रेज़ सेट करें
  • अपनी मुख्य फाइलें बनाएं। वे अब मौजूद रहेंगे। और में संग्रहीत किया जाएगाc:/Users/YourUserName/.ssh/

( एडमिन कमांड लाइन और विंडोज 10 प्रो का उपयोग करके )


@ बजरी नकारात्मक। यह आपकी कुंजियों को अधिलेखित नहीं करेगा , यदि कुंजी वर्तमान में गंतव्य पर मौजूद है, तो कमांड-लाइन विंडो पर यह आपसे पूछेगा कि क्या आप इन कुंजियों को अधिलेखित करना चाहते हैं। एक ही फ़ोल्डर में अन्य कुंजियों को प्रभावित नहीं किया जाता है । मुझे पता है कि आपकी टिप्पणी पढ़ने के बाद मैंने एक परीक्षण चलाया और ऐसा पाया।
मार्टिन

क्या आपने कभी पता लगाया कि क्यों?
डेमैनमैन

@Damainman दुर्भाग्य से मुझे अभी तक यह पता लगाने का मौका नहीं मिला है, इसलिए नहीं:-/
मार्टिन

1
धन्यवाद @Martin आपने मेरा दिन बचाया। मैं अलग-अलग नाम वाली फाइलें बनाने में सक्षम हूं। हमें यूनिक्स तरीके से पथ विभाजक प्रदान करना होगा! निम्नलिखित ने मेरे लिए काम किया। ssh-keygen -t ed25519 -C "My Github Key" कुंजी (C: \ Users \ bilix / .ssh / id_ed25519) को बचाने के लिए फाइल दर्ज करें: c: \ users \ bilix \ .ssh \ id_ed25519_github
Prakash P

@PrakashP मदद के लिए खुश!
मार्टिन

4

निजी / सार्वजनिक कुंजी बनाएँ:

  1. ओपन अप टर्मिनल ( git bash, PowerShell, cmd.exeआदि)
  2. में टाइप करें ssh-keygen
  3. डिफ़ॉल्ट फ़ाइल सहेजें ( ~/.ssh/id_rsa) के लिए एंटर दबाएं
  4. डिफ़ॉल्ट पासफ़्रेज़ के लिए एंटर दबाएं (कोई पासफ़्रेज़ नहीं)
  5. फिर से एंटर करें
  6. आउटपुट देखें और सुनिश्चित करें कि RSAहै 3072या ऊपर

आपने अब एक निजी / सार्वजनिक कुंजी जोड़ी बनाई है।

GIT के लिए कुंजी में एक शक्ति 2048होनी चाहिए, उपयोगकर्ता .sshनिर्देशिका में स्थित होनी चाहिए और कॉल की जानी चाहिए id_rsaऔर id_rsa.pubजब कहीं भी चाबियाँ चिपकाने के लिए एक प्रोग्राम का उपयोग करना सुनिश्चित करें जो VIM जैसी नई लाइनें नहीं जोड़ता है।


2

मुझे अंत में "रन एडमिनिस्ट्रेटर" के साथ ओपनिंग कमांड लाइन चलाकर काम करना पड़ा, हालांकि मैं पहले से ही एडमिन था और मैन्युअल रूप से डायरेक्टरी बना सकता था


1

यदि आपके पास ओपनएसएसएच क्लाइंट के साथ विंडोज 10 है, तो आप कुंजी को उत्पन्न करने में सक्षम हो सकते हैं, लेकिन आपको इसे लक्ष्य लिनक्स बॉक्स में कॉपी करने में परेशानी होगी क्योंकि ssh-copy-id कमांड क्लाइंट टूलसेट का हिस्सा नहीं है।

इस समस्या के होने के बाद, मैंने इसे संबोधित करने के लिए एक छोटा सा PowerShell फ़ंक्शन लिखा, जिसे आप अपनी प्रोफ़ाइल में जोड़ते हैं।

function ssh-copy-id([string]$userAtMachine, [string]$port = 22) {   
    # Get the generated public key
    $key = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
    # Verify that it exists
    if (!(Test-Path "$key")) {
        # Alert user
        Write-Error "ERROR: '$key' does not exist!"            
    }
    else {  
        # Copy the public key across
        & cat "$key" | ssh $userAtMachine -p $port "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"      
    }
}

आप यहाँ जिप प्राप्त कर सकते हैं

मैंने यहाँ इसके बारे में एक संक्षिप्त लेख लिखा है


0

इसके अलावा, आप प्रशासक और प्रकार के रूप में (विंडोज 10 प्रो के लिए) पॉवर्सशेल चला सकते हैं ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

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