sshfs ~ / .ssh / config (लिनक्स मिंट 15 पर) का उपयोग नहीं करेगा


10
Local:         Linux Mint 15 - Olivia
/proc/version: Linux version 3.8.0-19-generic (buildd@allspice) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) )
ssh -V:        OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
sshfs -V:      SSHFS version 2.4
               FUSE library version: 2.9.0
               fusermount version: 2.9.0
               using FUSE kernel interface version 7.18

Remote:        Ubuntu 12.04.3 LTS
/proc/version: Linux version 3.10.9-xxxx-std-ipv6-64 (kernel@kernel.ovh.net) (gcc version 4.7.2 (Debian 4.7.2-5) )
ssh -V:        OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012

मैं sshfs और फ़्यूज़ का उपयोग करके दूरस्थ सर्वर का पासवर्ड-कम माउंट स्थापित करने का प्रयास कर रहा हूं। रिमोट सर्वर एक गैर मानक बंदरगाह पर चल रहा है और मैं प्रमाणित करने के लिए एक ssh कुंजी जोड़ी का उपयोग करूंगा।

जब मैं सफल होता हूं तो तीन अलग-अलग कुंजी वाले तीन और दूरस्थ सर्वरों के लिए इसे दोहराता हूं, इसलिए मुझे यह बताने में सक्षम होना चाहिए कि कौन से मुख्य नक्शे किस दूरस्थ सर्वर पर हैं।

मैंने इस ट्यूटोरियल से अपने संशोधनों को आधारित किया

  • सार्वजनिक कुंजी रिमोट में है: अधिकृत_की
  • मैंने अपने स्थानीय उपयोगकर्ता को fuseसमूह में जोड़ा है ।
  • मैंने अपने स्थानीय ~/.ssh/configको (प्रति सर्वर) संपादित किया है :

`

Host [server_ip]
  Port = [port]
  IdentityFile  = "~/.ssh/[private_key]"
  User = "[user]"

`

जब भी मैं दूरस्थ सर्वर को स्थानीय रूप से माउंट करने का प्रयास करता हूं तो मुझे दूरस्थ उपयोगकर्ता के पासवर्ड के लिए संकेत मिलता है (मेरी निजी कुंजी का पासवर्ड नहीं)। दूरस्थ उपयोगकर्ता के पास एक लंबा बेतरतीब ढंग से उत्पन्न पासवर्ड है जिसे मैं सहेजना या याद रखना नहीं चाहता हूं और इसलिए चाबियाँ यह है कि मैं यह कैसे करना चाहता हूं।

मैं ~/.ssh/configकमांड का उपयोग करके ssh ( फ़ाइल के साथ संयुक्त ) के माध्यम से कनेक्ट कर सकता हूं ssh [ip]ताकि मुझे पता चले कि कॉन्फ़िगर फ़ाइल को सही ढंग से पढ़ा जा सकता है क्योंकि मुझे मेरी कुंजी के पासफ़्रेज़ के लिए कहा जाता है दूरस्थ उपयोगकर्ता नहीं।

दूरस्थ सर्वर से कनेक्ट करने का प्रयास करने के लिए मुझे मैन्युअल रूप से कमांड में पूर्ण कनेक्शन विवरण निर्दिष्ट करना होगा: `sshfs [उपयोगकर्ता] @ [आईपी]: [Remote_path] [local_path] -p [पोर्ट]

मैंने अब तक क्या प्रयास किया है:

  • ssh-add / path / to / key (सफल जोड़)
  • PreferredAuthentication = publickey~ / .Ssh / config में निर्दिष्ट करना
  • sshfs -o IdentityFile = / path / to / key user @ ip: / / my / mnt / dir
  • sshfs user @ ip: / / my / mnt / dir -o IdentityFile = / path / to / key
  • डिफ़ॉल्ट के लिए कुंजी का अस्थायी नाम id_rsa
  • sshfs -F ~ / .ssh / config

क्या कोई दूरस्थ या स्थानीय कॉन्फ़िगरेशन फ़ाइल है जिसे मैं देख रहा हूँ? कुछ स्विच या विकल्प जो मुझे sshfs (कोशिश -F) में कॉल करने के लिए शामिल करने के लिए इसे पढ़ने और अपने ssh config का उपयोग करने के लिए मजबूर करने की आवश्यकता है?

का आउटपुट ssh -v -p [port] [user]@[remote_ip]

OpenSSH_6.1p1 डेबियन -4, ओपनएसएसएल 1.0.1c 10 मई 2012
debug1: पठन कॉन्फ़िगरेशन डेटा /home/ Ismeiding/.ssh/config
debug1: /home/ http://meme/.ssh/config लाइन 2: [Remote_ip] के लिए विकल्प लागू करना
debug1: /home/ Ismeiding/.ssh/config लाइन 24: * के लिए विकल्प लागू करना
debug1: कॉन्फ़िगरेशन डेटा पढ़ना / etc / ssh / ssh_config
debug1: / etc / ssh / ssh_config लाइन 19: * के लिए विकल्प लागू करना
debug1: [Remote_ip] [[Remote_ip]] पोर्ट [port] से जुड़ रहा है।
debug1: कनेक्शन स्थापित किया गया।
debug1: आइडेंटिटी फाइल /home/ Ismeiding/.ssh/ IspStreet_key] टाइप 2
debug1: ब्लैकलिस्ट फ़ाइल /usr/share/ssh/blacklist.DSA-1024 की जाँच करना
debug1: ब्लैकलिस्ट फ़ाइल /etc/ssh/blacklist.DSA-1024 की जाँच करना
debug1: आइडेंटिटी फाइल /home/ Ismeiding/.ssh/ Ispार्थ_कीडिंग-cert टाइप -1
debug1: दूरस्थ प्रोटोकॉल संस्करण 2.0, दूरस्थ सॉफ़्टवेयर संस्करण OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: मैच: OpenSSH_5.9p1 डेबियन-5ubuntu1.1 pat OpenSSH_5 *
debug1: प्रोटोकॉल 2.0 के लिए संगतता मोड को सक्षम करना
debug1: स्थानीय संस्करण स्ट्रिंग SSH-2.0-OpenSSH_6.1p1 डेबियन -4
debug1: SSH2_MSG_KEXINIT को भेजा गया
debug1: SSH2_MSG_KEXINIT को प्राप्त हुआ
debug1: kex: server-> ग्राहक aes128-ctr hmac-md5 zlib@opens.com.com
debug1: kex: क्लाइंट-> सर्वर aes128-ctr hmac-md5 zlib@opens.com.com
debug1: SSH2_MSG_KEX_ECDH_INIT भेज रहा है
debug1: SSH2_MSG_KEX_ECDH_REPLY की अपेक्षा करना
debug1: सर्वर होस्ट कुंजी: [कुंजी]
debug1: पोर्ट पहचानकर्ता के बिना जाँच
debug1: Host '[Remote_ip]' जाना जाता है और ECDSA होस्ट कुंजी से मेल खाता है।
debug1: /home/ Ismeiding/.ssh/ogn_hosts:7 में कुंजी मिली
debug1: कुंजी w / आउट पोर्ट से मेल खाता पाया गया
debug1: ssh_ecdsa_verify: हस्ताक्षर सही
debug1: SSH2_MSG_NEWKEYS को भेजा गया
debug1: SSH2_MSG_NEWKEYS की अपेक्षा करना
debug1: SSH2_MSG_NEWKEYS प्राप्त किया
debug1: रोमिंग सर्वर द्वारा अनुमति नहीं है
debug1: SSH2_MSG_SERVICE_REQUEST को भेजा गया
debug1: SSH2_MSG_SERVICE_ACCEPT प्राप्त किया
debug1: प्रमाणीकरण जो जारी रख सकते हैं: publickey, पासवर्ड
debug1: अगली प्रमाणीकरण विधि: publickey
debug1: DSA सार्वजनिक कुंजी की पेशकश: /home/
debug1: सर्वर कुंजी को स्वीकार करता है: pkalg ssh-dss blen 433
debug1: 6 स्तर पर संपीड़न को सक्षम करना।
debug1: प्रमाणीकरण सफल हुआ (publickey)।
[Remote_ip] ([[Remote_ip]]: [port]) के लिए प्रमाणित।
debug1: चैनल 0: नया [ग्राहक-सत्र]
debug1: no-more-session@openssh.com का अनुरोध करना
debug1: इंटरेक्टिव सत्र में प्रवेश करना।
debug1: पर्यावरण भेजना।
debug1: env LANG = en_GB.UTF-8 भेज रहा है
debug1: env LC_CTYPE = en_GB.UTF-8 भेज रहा है
Ubuntu 12.04.3 LTS (GNU / Linux 3.10.9-xxxx-std-ipv6-64 x86_b) में आपका स्वागत है

संपादित करें:
मुझे समस्या मिली। मैं सुडो का उपयोग करके दूरस्थ स्थान को / mnt / new_dir पर माउंट करने का प्रयास कर रहा था। यदि मैं अपने स्थानीय घर के भीतर किसी स्थान पर माउंट करता हूं तो यह काम करता है। sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount

मैंने अब एक काम किया है sudo chown root:fuse /mnt/new_dirऔर sudo chmod 774 /mnt/new_dirमुझे विश्वास है कि सभी काम करना है।

क्या इस सेट के साथ कोई सुरक्षा समस्या है जिसके बारे में मुझे जानकारी होनी चाहिए? (मेरे अपने उपयोगकर्ता और रूट fuseसमूह के एकमात्र सदस्य हैं ।


MBS हाय, आप किसी भी त्रुटि को दिखाने के लिए -v स्विच के साथ ssh चला सकते हैं जो मौजूद हो सकता है। यह देखने के लिए ऐसा हो सकता है कि फ़ाइल को पढ़ते समय कोई त्रुटि हो। साथ ही, टारगेट सर्वर पर आपकी चाबियाँ 600 अनुमतियाँ होनी चाहिए।
Rqomey

शीघ्र जवाब देने के लिए ध्न्यवाद। ssh क्रिया : pastebin.com/Rm5X7y5p (मैं एक मिनट में sshfs क्रिया के साथ वापस आऊंगा
अविभाज्य

-o ssh_command='ssh -v'कमांड का उपयोग करने वाले sshfs सिर्फ लटकाते हैं और कुछ भी आउटपुट नहीं करते हैं
अविभाज्य

मुझे लगता है कि मुझे समस्या मिल सकती है (या कम से कम इसके करीब हो गया है)। मैं सुडो का उपयोग करके दूरस्थ स्थान को / mnt / new_dir पर माउंट करने का प्रयास कर रहा था। यदि मैं अपने स्थानीय घर के भीतर किसी स्थान पर माउंट करता हूं तो यह काम करता है। sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount। क्या मैं अपने उपयोगकर्ता को कॉन्फ़िगर कर सकता हूं ताकि उसके पास / mnt को माउंट करने के लिए आवश्यक अनुमतियाँ हों ताकि अन्य उपयोगकर्ता दूरस्थ संसाधनों का उपयोग कर सकें?
अविभाज्य

1
मुझे लगता है कि आप स्टैकएक्सचेंज में नए हैं, इसलिए आपका स्वागत है। लेकिन कुछ सुझाव: मुझे पता है कि आप डेटा को अस्पष्ट करके खुद को आजमाना चाहते हैं, लेकिन आपको वास्तव में ऐसा नहीं करना चाहिए। यदि आपने जानकारी प्रदान की है कि आप माउंट पर बढ़ते हुए कहां हैं, तो दूसरों ने समस्या पर ध्यान दिया होगा। आउटपुट प्रदान करने के लिए बाहरी साइटों (pastebin) से लिंक न करें, इसे यहां शामिल करें। अंत में यदि आपके पास कोई समाधान है, तो उसे उत्तर के रूप में प्रदान करें और उस उत्तर को स्वीकार करें, विषय में "हल" न करें।
पैट्रिक

जवाबों:


13

यदि आप उपयोग कर रहे हैं sudoतो आप रूट के क्रेडेंशियल्स को माउंट करने की संभावना का उपयोग कर रहे हैं, जो मुझे विश्वास नहीं है कि आप क्या चाहते हैं। मैं शायद वह नहीं करूंगा जो आप पूछ रहे हैं, wrt। /mntuser2 के रूप में बढ़ते और user2 के रूप में स्वीकार करता है। यह समूहों और उपयोगकर्ता अनुमतियों के साथ जटिल होने जा रहा है। यदि आप वास्तव में एक निर्देशिका को साझा करने के लिए / mnt माउंट करना चाहते हैं, तो आपको वास्तव में इसे सभी उपयोग करने के लिए सिस्टम स्तर के माध्यम से माउंट करना चाहिए autofs

automounting

वहाँ 3 तरीके हैं जो मुझे इस तरह के एक माउंट को स्वचालित करने के लिए पता है।


यह वास्तव में मुद्दा था। मैंने अपने प्रश्न को फ़ोल्डर में अनुमतियों को संशोधित करने के लिए उठाए गए कदमों को शामिल करने के लिए संपादित किया है, लेकिन जब यह काम करता है तो मुझे यकीन है कि यह सबसे अच्छा समाधान नहीं है। - मैंने autofsअभी तक उपयोग करने का प्रयास नहीं किया था क्योंकि मैं अब से पहले स्थापित किए गए sshfs कनेक्शन प्राप्त करने में सक्षम नहीं था। क्या आप सुझाव दे रहे हैं कि मैं एक और प्रमुख जोड़ी जोड़ूं local:/root/.ssh/keyऔर remote:/[user]/.ssh/authorized_keys? क्या करना चाहिए chownऔर chmodके लिए हो सकता है local:/mnt/dirहो सकता है? (मैं अपने लिए पूर्ण अनुमति चाहता हूं और केवल अन्य उपयोगकर्ताओं के लिए पढ़ता हूं)
अविभाज्य

@mbs - अद्यतन देखने
SLM

1
वह URL ऑटोफ़्स करने के लिए, क्या यह सही है? क्योंकि यह गलत है जब आप इसे अनुरोध करते हैं। यह एक गैर-भाषाभाषी खेल में खेल दिखाता है।
जेफ्री एंडरसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.