। ssh / config: "खराब विन्यास विकल्प: UseKeychain" Mac OS Sierra 10.12.6 पर


94

मैं मैक (मैक ओएस सिएरा 10.12.6) पर अपने ssh कॉन्फिगरेशन को इस तरह से स्थापित करने की कोशिश कर रहा हूं कि यह चाबी का गुच्छा में मेरी ssh कुंजी के लिए पासफ़्रेज़ को संग्रहीत करता है। पहले मैं ऐसा कर सकता था

ssh-add -K ~/.ssh/id_rsa

लेकिन हाल ही में यह अब काम नहीं करता है। इस लेख के बाद मैक ओएस> 10.12.2 में ssh कॉन्फिगर के व्यवहार में बदलाव होने लगता है और इस समस्या को ठीक करने के लिए अनुशंसित तरीका UseKeychain yesआपके ssh कॉन्फिगर में जोड़ना है। तो यहाँ मेरा .ssh/configअनुभाग है Host *:

Host *
  Port 22
  ServerAliveInterval 60
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa
  AddKeysToAgent yes
  UseKeychain yes

एक विदेशी होस्ट के लिए ssh करने की कोशिश करते समय, मुझे निम्न त्रुटि संदेश मिलता है:

$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain

कोई भी विचार क्यों ऐसा होता है और मैं इसे कैसे ठीक कर सकता हूं? धन्यवाद!

जवाबों:


176

IgnoreUnknownनीचे की तरह एक और विकल्प निर्दिष्ट करने का प्रयास करें:

Host *
  IgnoreUnknown UseKeychain
  UseKeychain yes

आप इसके बारे में अधिक जानकारी यहाँ पा सकते हैं ।

यदि आपके पास पहले से ही एक IgnoreUnknownमूल्य है, तो अल्पविराम से मानों का उपयोग करें

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes

2
ssh -F /dev/null ...अस्थायी रूप से कॉन्फ़िगर फ़ाइल को बायपास करें , यह मेरे लिए काम करता है।
इताची

1
जोड़ना IgnoreUnknown UseKeychainअभी भी मेरे लिए काम नहीं करता है, इसलिए मैं UseKeychain yesपूरी तरह से हटा देता हूं और यह काम करता है। सुनिश्चित नहीं है कि यह सबसे अच्छा तरीका है।
हांक चान

इस समाधान ने मेरे लिए काम किया लेकिन मुझे समझ नहीं आता कि यह अचानक क्यों बदल जाता है? मैं केवल अपने DigitalOcean खाते में प्रवेश कर रहा हूं।
अंजनेश

मैंने सभी विकल्प हटा दिए और होस्ट और आइडेंटिटीफाइल छोड़ दिया। गितुब उन विकल्पों का उपयोग करने के लिए कहता है, लेकिन वे मेरे लिए काम नहीं करते हैं। धन्यवाद।
नाटूस ने

54

स्वीकृत उत्तर ने मेरी मदद की लेकिन मेरी समस्या को पूरी तरह से हल नहीं किया क्योंकि मेरे पास कई विकल्प थे जो खराब थे। यहाँ एक उदाहरण है कि यह कैसा दिख सकता है यदि आपके पास यह मुद्दा है:

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

बस इसे यहां छोड़ना चाहते हैं: मुझे दूरस्थ रूप से कनेक्ट करने में परेशानी थी और यह समस्या बन गई। Bitbucket के Sourcetree टूल का उपयोग करके इस मुद्दे को उत्पन्न किया गया था, जिसे मैंने रिमोट कनेक्शन से रोकने वाले अवशेषों को छोड़ दिया है
Connor

धन्यवाद! MacOS mojave पर काम किया 10.14.6
ब्रेंडन

यह काम क्यों करता है? मुझे भी यही समस्या थी और इस जवाब ने इसे ठीक कर दिया, लेकिन मुझे अभी भी नहीं पता कि यह काम क्यों किया या मुझे पहली बार में समस्या क्यों हुई ..
निशांत मेहता

2

मैंने अभी लाइन की टिप्पणी की और scp / ssh ने मेरे लिए फिर से काम करना शुरू किया।


1

Ssh-add टाइप के बजाय '.ssh / id_rsa' टाइप करें और इसे किचेन में जोड़ें

UseKeychain विकल्प मेरे कॉन्फ़िगर पर कभी खराब नहीं हुआ, लेकिन मेरे पास शुरुआत में, किसी भी अन्य होस्ट से पहले, निम्नलिखित है

Host *
UseKeychain yes 

Host (...)

FYI करें, मुझे लगता है कि यह गलत आदेश है। यदि आप इसे इस तरह लिखते हैं, तो आपके *नियमों को अनदेखा किया जाएगा। man ssh_configकहते हैं, "चूंकि प्रत्येक पैरामीटर के लिए पहले प्राप्त मूल्य का उपयोग किया जाता है, फ़ाइल की शुरुआत के पास अधिक मेजबान-विशिष्ट घोषणाएं दी जानी चाहिए, और अंत में सामान्य चूक।"
टेलीमैकस

FYI करें, मैंने इसे लगभग एक दशक तक दर्जनों सर्वरों के साथ किया है और कभी कोई समस्या नहीं हुई। मैं हर दिन इतने सारे सर्वर के लिए ssh। हालांकि, अगर किसी को उस कॉन्फिग के साथ वास्तविक जीवन का मुद्दा मिल जाता है, तो शायद यह तब होगा।
रिकार्डो

0

यह राजधानी -K की कोशिश लोअरकेस -k है!

ssh-add -k ~/.ssh/id_rsa

Enter passphrase for /Users/tom/.ssh/id_rsa:
Identity added: /Users/tom/.ssh/id_rsa (/Users/tom/.ssh/id_rsa)

ssh-addहै -KMacOS पर कम से कम विकल्प। man ssh-add:-K When adding identities, each passphrase will also be stored in the user's keychain. When removing identities with -d, each passphrase will be removed from it.
uasi

0

मेरे पास एक ही मुद्दा था और मुझे एहसास हुआ कि निर्देशों का पालन करके कुंजी उत्पन्न करना कब शुरू किया गया था। पहला कदम यह है।

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

मैंने ईमेल पता नहीं बदला, लेकिन निश्चित रूप से मैं यह करना भूल गया: डी। इसलिए उस कदम को न भूलें और सब ठीक हो जाएगा।

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