Sshfs का उपयोग करके ऑटो माउंट कैसे करें?


14

मैं अपने ubuntu pc में ssh ubuntu डायरेक्टरी को माउंट करने के लिए निम्न कमांड का उपयोग कर रहा हूं।

sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

मेरा सवाल यह है कि क्या मैं अपने डेस्कटॉप में इसके लिए एक स्क्रिप्ट बना सकता हूं, जहां मैं एक डबल क्लिक कर सकता हूं और इस स्क्रिप्ट को चला सकता हूं जब कभी भी मुझे मैन्युअल रूप से हमेशा कमांड टाइप किए बिना ड्राइव को माउंट करने की आवश्यकता होती है।

जवाबों:


15

आप एक लॉन्चर बना सकते हैं और इसे अपने लॉन्चर बार में ड्रैग एंड ड्राप करके जोड़ .desktopसकते हैं:

    #!/usr/bin/env xdg-open

    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon[en_US]=nautilus
    Name[en_US]=Connect to xy
    Exec=shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
    #OR: to mount and than open in nautilus (note the '/dir' where ':dir' used to be)
    #Exec=nautilus sftp://user@192.xx.xx.xx.xx/dir/dir
    Comment[en_US]=Connect to xy via ssh
    Name=Connect to xy
    Comment=Connect to xy via ssh
    Icon=nautilus

सुझाव - इससे भी कम काम:

यदि आप भी कम काम (= ऑटोकनेक्ट) और एक ग्राफिकल यूजर इंटरफेस चाहते हैं, तो आप जिगोलो की जांच कर सकते हैं जिगोलो स्थापित करें। जब भी बुकमार्क किया गया फ़ाइल सिस्टम मौजूद होता है, तो यह एक बुकमार्क को ऑटो-माउंट करने की क्षमता रखता है। आप उसकी जांच करना चाह सकते हैं।

sudo apt-get install gigolo   # or use the install link above

भागो gigolo। वरीयताओं में एक विकल्प है जो इसे ऑटोस्टार्ट में डालता है और दूसरा ट्रे आइकन को सक्रिय करने के लिए। दोनों की जाँच करें। फिर अपना बुकमार्क जोड़ें।

यहाँ एक स्क्रीनशॉट है:

यहां छवि विवरण दर्ज करें

खोल का रास्ता

एक और उपाय यह होगा कि आप अपने कॉन्ट्राब में निम्न लाइन डालें ( /etc/crontabsudo विशेषाधिकार के साथ संपादित करें ):

@reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

लेकिन जब से उबंटू का पासवर्ड मैनेजर मौजूद नहीं है, जब कमांड चलाया जाता है, तो आपको प्रश्न में ssh सर्वर (या प्रमाणीकरण की एक समान विधि) के साथ प्रमाणित करने के लिए पासवर्ड-कम निजी / सार्वजनिक कुंजी जोड़ी का उपयोग करने की आवश्यकता होती है। यह इसे हर रिबूट पर माउंट करेगा।

फिर भी एक और समाधान आपको संपादित करने के लिए होगा /etc/fstab(अपने Ubuntu- संस्करण प्रदान करता है कि विकल्प प्रदान करता है)।


1
मैं जिगोलो का उपयोग नहीं कर सकता। Coz मैं अपने होम फोल्डर के भीतर एक विशिष्ट बढ़ते बिंदु का उपयोग करना चाहता हूं। आपका पहला उपाय अच्छा लगता है। लेकिन मैं फ़ाइल नामकरण के बारे में स्पष्ट नहीं हूं। YOu ने ".desktop-file" दिया है जो फ़ाइल का नाम या विस्तार है। कृपया मुझे फ़ाइल नामकरण पर अधिक उदाहरण दें। जब मैं यह कोशिश कर सकता हूँ।
ब्लूबर्ड

इसका विस्तार है। Ubuntu में सभी लांचर ".desktop" के साथ समाप्त होते हैं। एक खाली फ़ाइल बनाएँ। मेरे द्वारा ऊपर पोस्ट किए गए पाठ को कॉपी करें। "नाम =" के पीछे पाठ को बदलें जो कुछ भी आप सूट करते हैं और पाठ में वास्तविक पथों को "Exec =" के पीछे बदलें। फिर इसे "connect.desktop" या "Mountxy.desktop" (उदाहरण के लिए) के रूप में सहेजें। आपके द्वारा फ़ाइल को सहेजने के बाद उसे अपने लॉन्चर पैनल में या जहाँ आप चाहते हैं, उसे ड्रैग एंड ड्रॉप करें।
कॉन-एफ-यूज

महान!! इसने काम कर दिया।
ब्लूबर्ड

8
OMG ... एक कार्यक्रम के लिए सबसे खराब नाम।
लेकेनस्टेन जुएल

जाहिरा तौर पर अब ऑटोस्टार्ट में जिगोलो को जोड़ने का कोई विकल्प नहीं है, इसलिए आपको इसे स्वयं करना होगा। चलाएं gnome-session-propertiesऔर /usr/bin/gigoloकमांड जोड़ें । माउंट पॉइंट का चयन करना संभव नहीं है, लेकिन आप अपने होम डायरेक्टरी (के साथ ln -s) के लिए एक प्रतीकात्मक लिंक बना सकते हैं । आप फ़ाइल प्रबंधक में एक फ़ोल्डर को राइट-क्लिक करके और चयन करके मूल माउंट बिंदु पा सकते हैं Open in Local Terminal
सेप्पो एनरवी

4

यह फोरम थ्रेड एक ऑटोमोटिविंग SSHFS बनाने की विधि दिखाता है जो मुझे लगता है कि वास्तव में आप क्या करना चाहते हैं।


धागा काफी पुराना है और नेटवर्क निर्भर माउंट को जोड़ने के लिए हम अब उपयोग कर सकते हैं x-systemdऔर _netdevविकल्प।
तुर्गन

3

आप इसे केवल शेल स्क्रिप्ट पर टाइप कर सकते हैं, और आप डेस्कटॉप पर इसके लिए लॉन्चर बना सकते हैं।

उदाहरण के लिए mountssh.sh:

#!/bin/bash
shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

सुनिश्चित करें chmod +x mountssh.shऔर फिर इसे क्लिक करने पर अमल होगा

वैकल्पिक रूप से, आप इसे डेस्कटॉप पर राइट क्लिक करके और URL पैरामीटर के साथ लॉन्चर बनाकर gvfs के माध्यम से माउंट कर सकते हैं ssh://user@192.xx.xx.xx.xx/dir/dir:। डिफ़ॉल्ट रूप से यह mounts ~/.gvfs/...। यदि आप इसके साथ रहना चाहते हैं /home/username/mount/xxx, तो आप इस से एक gvfs से सिमलिंक बना सकते हैं।


मैंने अपने डेस्कटॉप पर "Mount-192.168.1.5.sh" फ़ाइल बनाई। जब मैं इसे डबल क्लिक करता हूं, तो इसे gedit के साथ खोला जाता है।
ब्लूबर्ड

आपको कहीं भी निष्पादन योग्य प्राइवेटिलीज़ के साथ इस श फाइल को बनाना होगा, और अपने डेस्कटॉप पर एक लॉन्चर बनाना होगा, जो इस .sh फ़ाइल की ओर इशारा करता है।

2

तुम भी इसे एक कदम आगे ले जा सकते हैं और ऑटोफ्लो आपके लिए बढ़ते का ख्याल रख सकते हैं। चूंकि ऑटोफ़्स विशेष रूप से SSH सार्वजनिक कुंजी प्रमाणीकरण के साथ अच्छी तरह से काम नहीं करता है (जब तक कि आप सुपरयूज़र के लिए पासवर्ड रहित कुंजी जोड़ी नहीं बनाना चाहते हैं ), ऐसे उपकरण हैं जो आपको उपयोगकर्ता के SSH कुंजी, ssh-Agent और चाबी का गुच्छा का उपयोग करने की अनुमति देते हैं:


0

मैं एक फ़ोल्डर को ठीक उसी तरह से माउंट करता हूं, जो मैंने किया था वह एक कस्टम लॉन्चर बना था जो उस .shफ़ाइल की ओर इशारा करता है जिसमें कमांड होती है। बस सुनिश्चित करें कि फ़ाइल में निष्पादन की अनुमति है और आप जाने के लिए अच्छे हैं।

मैं अभी लॉन्चर पर क्लिक करता हूं:

यहां छवि विवरण दर्ज करें


0

मैंने ssh निर्देशिका को स्वचालित रूप से माउंट करने के लिए क्रॉन का उपयोग करने की कोशिश की, लेकिन यह एक त्रुटि कहती है Network is unreachable। ऐसा इसलिए है क्योंकि क्रॉन जॉब निष्पादन आईपी कनेक्शन स्थापित करने के लिए बहुत जल्दी है। sshfsआदेश से पहले मैं नींद सम्मिलित करने के बाद , यह सफलतापूर्वक ssh निर्देशिका माउंट।

sleep 5 && sshfs ......

इसलिए मैंने अपनी आवश्यकता को पूरा करने के लिए यह स्क्रिप्ट बनाई।

#! /bin/sh
while true
do 
    ping -c1 -w1 ssh_server_ip > /dev/null && break
done
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 sshname:/mountpath /localmountpath
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.