अपने .ssh
निर्देशिका 30 चाबियाँ (15 निजी और 15 सार्वजनिक)जीआईटी और एसएसएच, किस कुंजी का उपयोग किया जाता है?
, GIT
में कहाँ है जो एक चेक दिए गए दूरस्थ रेपो से कनेक्ट करने के लिए किया जाता है कर सकते हैं कहते हैं?
अपने .ssh
निर्देशिका 30 चाबियाँ (15 निजी और 15 सार्वजनिक)जीआईटी और एसएसएच, किस कुंजी का उपयोग किया जाता है?
, GIT
में कहाँ है जो एक चेक दिए गए दूरस्थ रेपो से कनेक्ट करने के लिए किया जाता है कर सकते हैं कहते हैं?
.ssh/config
फ़ाइल में निम्न प्रविष्टि समस्या का हल
host git.assembla.com
user git
identityfile ~/.ssh/whatever
कहाँ ~/.ssh/whatever
करने के लिए एक रास्ता है अपनी निजी कुंजी
साथ ही, उपयोगकर्ता और मेजबान
git push [email protected]:repo_name.git
^__ ^_______________
user host
इसलिए यदि मैं एक अलग मेजबान के लिए एक और एसएसएच कुंजी का उपयोग करना चाहता था, तो क्या मैं इसे पहले के बाद दोहरा दूंगा ?? क्या पहचानफाइल पहले मेजबान से पहले संबंधित है? – MikeSchem
ठीक है, हाँ, ऐसा लगता है कि यह मामला https://www.cyberciti.biz/faq/force-ssh-client-to-use-given-private-key-identity-file/ – MikeSchem
git
कनेक्ट करने के लिए बस ssh
का उपयोग करता है, यह रिमोट होस्ट से कनेक्ट करने के लिए उपयोग की जाने वाली किसी भी कुंजी ssh
का उपयोग करेगा। विवरण के लिए ~/.ssh/config
फ़ाइल देखें; उपयोग करने के लिए निजी कुंजी निर्दिष्ट करने के लिए host
ब्लॉक IdentityFile
निर्देश का उपयोग करता है। ssh_config(5)
मैनपेज में पूर्ण विवरण हैं।
जब तक यह .ssh/config
पर निर्दिष्ट नहीं है, तो यह डिफ़ॉल्ट निजी कुंजी फ़ाइल का उपयोग करेगा।
प्रोटोकॉल संस्करण के आधार पर डिफ़ॉल्ट फ़ाइल ~/.ssh/id_rsa
या ~/.ssh/id_dsa
या ~/.ssh/identity
है।
से उठाया जा सकता है रिमोट सर्वर पर, sshd_config फ़ाइल संपादित करें और लॉगलेवल को INFO से VERBOSE में बदलें और ssh को पुनरारंभ करें।
अब आपकी लॉग फ़ाइल प्रत्येक उपयोगकर्ता को प्रमाणीकृत करने के लिए उपयोग की जाने वाली कुंजी के फिंगरप्रिंट को रखेगी।
उबंटू पर, ये फ़ाइलें हैं:
/etc/ssh/sshd_config
/var/log/auth.log
लेकिन वे एक distro पर अलग हो सकता है। बस उनके स्थान के लिए Google (कुछ उपयोग/var/log/उदाहरण के लिए सुरक्षित)।
वर्बोज़ मोड, उर्फ ssh -v [email protected]
में एसएसएच निष्पादित करने से, डीबगिंग जानकारी का एक बड़ा भार प्रिंट होगा, जिसमें यह भी शामिल है कि यह किस कुंजीफाइल को लॉगिन के लिए प्रयास कर रहा है।
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 332
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
अब आप Git के अपने SSH help page, ssh -vT [email protected]
आप इस सवाल का जवाब दे सकते हैं में चरण 4 के साथ इस गठबंधन, अगर।
नोट: आप कमांड निष्पादन के दौरान ssh को बताने के लिए -i
स्विच का उपयोग भी कर सकते हैं, जिसका उपयोग करने के लिए keyfile।
यह भी देखें: http://stackoverflow.com/questions/18845799/show-ssh-key-file-in-git-bash – Sharadh
आप इस तरह की मुख्य फ़ाइल खोजने के लिए ssh कमांड के मानक त्रुटि आउटपुट को भी grep कर सकते हैं: 'ssh -vv user @ host 2>> (grep पेशकश) '- यह चीजों को आसान बना देगा। अंतिम फ़ाइल सार्वजनिक कुंजी होना चाहिए। उदाहरण के लिए: 'डीबग 1: आरएसए सार्वजनिक कुंजी की पेशकश:/उपयोगकर्ता/मैकबुकप्रो/.ssh/id_rsa' –
जो कोई भी "बंद" करने के लिए मतदान करता है, यह प्रश्न - सीधे उसी कारण से प्रोग्रामिंग से संबंधित है, जीआईटी के बारे में प्रश्न – JAM
तर्कसंगत रूप से ... यह वास्तव में एक सुपर-उपयोगकर्ता प्रश्न है, यहां मुद्दा गिट नहीं है, लेकिन जिस प्लेटफ़ॉर्म पर चल रहा है। आप समस्या के लिए "गिट में" जांच नहीं सकते हैं, क्योंकि गिट परवाह नहीं है, यह केवल एसएसएच का उपयोग करने के तरीके से संबंधित है और यह कैसे कॉन्फ़िगर किया गया है। क्या आप एसएसएच एजेंट का उपयोग करते हैं, किसी भी प्रकार की कुंजी प्रबंधन प्रणाली, आप किस ऑपरेटिंग सिस्टम का उपयोग करते हैं, किस संस्करण, इत्यादि? – Arafangion