Ssh- एजेंट से निर्दिष्ट कुंजी का उपयोग करें


11

कैसे निजी कुंजी का उपयोग करने के लिए कैसे बताने के लिए की तर्ज के साथ ? मैं दी गई स्थिति में एक विशिष्ट ssh कुंजी का उपयोग करना चाहूंगा।

मेरी समस्या यह है कि जब मैं निर्दिष्ट करता हूं, तब भी मैं 's-एजेंट' की कुंजियों का उपयोग उस क्रम में मेरे ssh- एजेंट से करता हूं जो वे जोड़े जाते हैं।

मेरी विशिष्ट स्थिति:

  • मेरे पास दो गितुब उपयोगकर्ता हैं, जिनमें से प्रत्येक की अपनी कुंजी है - मैं उदाहरण के लिए ssh-config के माध्यम से - प्रत्येक क्लोन के लिए निर्दिष्ट करता हूं कि किस कुंजी का उपयोग करना है:

    होस्ट USER1.git

    होस्टनाम github.com

    उपयोगकर्ता गिट

    IdentityFile ~ / .ssh / USER1.id_rsa

ssh -vt USER1.git

अभी भी USER2.id_rsa का उपयोग करेगा यदि वह ssh-Agent में पहली बार जोड़ा गया है।

जवाबों:


5

मुझे अंत में यह काम करने के लिए मिला है:

Host USER1.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER1.id_rsa

Host USER2.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER2.id_rsa
  • इंडेंटेशन मायने रखता है।
  • क्या ssh-add -lऔर सुनिश्चित करें कि आपके कुंजी के दोनों जोड़ दिया गया है बनाते हैं।
    • टाइपो से बचने के लिए प्रत्येक पथ ssh-add -lको उपयुक्त लाइन से कॉपी / पेस्ट करें ~/.ssh/config। यदि ~/.ssh/configUSER1 के लिए एक पहचान मार्ग टाइपो है, तो इसके बजाय गलत कुंजी (USER2 की कुंजी) का उपयोग किया जाएगा।

मुझे BitBucket पर निर्देश मिले। केवल अंतर के कारण उन्हें GitHub के लिए काम करना चाहिए HostName: http://confluence.atlassian.com/pages/viewpage.action?pageId=271943168#ConfiguringMultipleSSHIdentitiesforitBashMacOSXLinux-CreateaSSHconfigfile

एजेंट अग्रेषण का उपयोग करके दूरस्थ सर्वर पर काम करने के लिए, नीचे दिए गए @ stijn-hoop के सुझाव (इस उत्तर के टिप्पणी अनुभाग में) का प्रयास करें।


3
अपनी पिछली टिप्पणी के लिए फिर से एजेंट को अग्रेषित करें, इस उत्तर को देखें: superuser.com/questions/273037/…
Stijn Hoop

1

IdentitiesOnly yesइन मेजबानों, .ssh / config के नीचे का उपयोग करें ।


1
लेकिन फिर यह एजेंट का उपयोग नहीं करेगा और मुझे सभी
गिट

1
हाँ, यह है कि यह कैसे काम करता है। आप ssh- एजेंट का उपयोग करते समय विभिन्न कुंजियों के बीच चयन नहीं कर सकते। एक तरीका कई ssh- एजेंटों को शुरू करना और उनके बीच स्विच करना या तो अलग-अलग गीथब संचालन के लिए अलग-अलग रैपरों का उपयोग करना है या सिर्फ ssh- एजेंट्स (SSH_AUTH_SOCK को बदलना) के बीच स्विच करना है
कौगर

6
उपरोक्त टिप्पणी गलत है - आप अपने ssh-Agent से पहचान चुन सकते हैं। यह उत्तर भी देखें जो मैंने पहले ही उल्लेख किया है, superuser.com/questions/273037/…
Stijn Hoop

0

निर्देश के अंदर सार्वजनिक कुंजी फ़ाइल का उपयोग करने के लिए बिंदु है IdentityFile

Host USER1.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER1.id_rsa.pub

Host USER2.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER2.id_rsa.pub

यदि हम SSH कॉन्फ़िगरेशन के अंदर निजी कुंजी निर्दिष्ट करते हैं, तो SSH एजेंट सही कुंजी चुनने में विफल होगा यदि निजी कुंजी एन्क्रिप्ट की गई है।

स्टैकएक्सचेंज पर एक समान प्रश्न: https://unix.stackexchange.com/a/495785/264704

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