ssh Cygwin में गलत होम डायरेक्टरी का उपयोग करता है


12
$ ssh usaname@login.somehost.no

Could not create directory'/cygdrive/c/Documents and Settings/vidar kongsli/.ssh'.
The authenticity of host 'login.somehost.no (...)' can't be established.
RSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.

$ set | grep HOME

HOME=/cygdrive/d/home/vidar
HOMEDRIVE=C:
HOMEPATH=/cygdrive/d/home/vidar

$ ls ~/.ssh

id_rsa  id_rsa.pub

किसी भी विचार क्यों ssh $ गृह पर्यावरण चर का उपयोग नहीं करता है जब यह ~ / .sh को खोजने की कोशिश करता है?

(संपादित करें: निश्चित स्वरूपण)

ssh  cygwin 

जवाबों:


9

पर एक नजर है /etc/passwd। सुनिश्चित करें कि वहां प्रविष्टि आपके अपेक्षित होम डायरेक्टरी से मेल खाती है। यह आपके उपयोगकर्ता के प्रवेश के लिए दूसरा अंतिम क्षेत्र है।


4

यदि आपका $HOMEवैरिएबल सेट है, लेकिन ssh इसे पहचान नहीं रहा है, तो इस लाइन को इसमें डालें /etc/nsswitch.conf:

db_home: /%H

यह एक / etc / passwd फ़ाइल की आवश्यकता के बिना Cygwin होम डायरेक्टरी को सेट करेगा।


मैंने साइबर चर स्थापित HOMEकरने %USERPROFIEL%से पहले पर्यावरण चर में सेट किया है। तो ... / home / <myusername> नहीं बनाया गया है ( /etc/passwd cannot be found)। और% USERPROFILE% में ssh कुंजी का उपयोग नहीं कर सकता। db_home: /%Hसमस्या को पूरी तरह से ठीक करें। आपका बहुत बहुत धन्यवाद!
मार्सलो सेप

2

/Etc/nsswitch.conf में:

db_home:  windows

देखें db_home सेटिंग । यह सिगविन को केवल %USERPROFILE%सिगविन $ गृह के रूप में विंडोज निर्देशिका का उपयोग करने के लिए कहता है ।

यह आवश्यक है यदि, उदाहरण के लिए, आप समान SSH कुंजी को git (GitHub Enterprise) और SSH के बीच विभिन्न स्थानीय यूनिक्स / लिनक्स प्रणालियों के बीच साझा करना चाहते हैं।

%HOME%ओएस स्तर पर सेटिंग काम नहीं करती थी (भले ही $HOMEबैश में सही ढंग से सेटिंग को दर्शाती है)।

आप मूल प्रश्न से देख सकते हैं कि एसएसएच विंडोज होम डायरेक्टरी को अपडेट करने की कोशिश कर रहा है, जो विदर्भ में विंडोज का पुराना संस्करण है C:\Documents and Settings\vidar kongsli। वर्तमान संस्करणों में (7+, मुझे लगता है), समतुल्य है C:\Users\%USERNAME%(या, यदि विंडोज C :, पर स्थापित नहीं है %SystemDrive%\Users\%USERNAME%)।



0

सेट db_homeमें /etc/nsswitch.confअपने घर के लिए पथ के लिए। यह MSYS2 द्वारा अनुशंसित विधि है ।

एक HOMEपर्यावरण चर जोड़ना भी काम करता है

Git-for-Windows में शामिल envहै db_home, जिसे आपके HOMEबैश वैरिएबल को पढ़ना चाहिए , हालांकि, यह अविश्वसनीय है


1
संपादन कैसे? आपने db_home को क्या सेट किया?
एंड्रयू शुल्मन

@AndrewSchulman निर्देशिका के लिए मैं अपने घर निर्देशिका के रूप में चाहते हैं?
वरुणअगव

1
वाह! यह बहुत उपयोगी जानकारी है। @ Go2null :)
वरुणअगव

यह उत्तर वास्तव में सूचीबद्ध नहीं है कि "अनुशंसित" जुड़ा हुआ बग क्या सुझाता है। जुड़ा हुआ बग कहता है:db_home: windows cygwin desc
गॉर्डन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.