SSH का उपयोग करके दूरस्थ दूरस्थ निर्देशिका


69

किसी दूरस्थ निर्देशिका को कैसे माउंट SSHकिया जाए, यह उसी तरह उपलब्ध हो जैसे कि यह एक स्थानीय निर्देशिका है?

जवाबों:


78

पहले मॉड्यूल स्थापित करें:

sudo apt-get install sshfs

इसे कर्नेल पर लोड करें:

sudo modprobe fuse

अनुमतियाँ सेट करना (उबंटू संस्करण <16.04):

sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount

अब हम दूरस्थ फ़ोल्डर को माउंट करने के लिए एक निर्देशिका बनाएंगे।

मैंने इसे अपने होम डायरेक्टरी में बनाने और इसे कॉल करने के लिए चुना remoteDir

mkdir ~/remoteDir

अब मैंने इसे (घर पर माउंट) माउंट करने के लिए कमांड चलाया:

sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir

अब इसे आरोहित किया जाना चाहिए:

cd ~/remoteDir
ls -l

मैं थोड़ा उलझन में हूँ ... sshfsकमांड में, मुझे लगता है कि माउंटपॉइंट स्थानीय निर्देशिका का नाम है remoteDir, और जब मैं ssh सेवर पर हूं, तो एक dir है /home/maythuxServ/Mountedजो स्थानीय रूप से माउंट नहीं किया गया है, और मैं नहीं बता सकता, या देखभाल, क्या यह कहीं और मुहिम शुरू की है?
वोल्कर सेगेल

3
जब मैंने निम्नलिखित मार्गदर्शिका का उपयोग किया तो मैंने 14.04 के तहत इन चरणों में से कुछ को छोड़ दिया: help.ubuntu.com/community/SSHFS
हेम

4
कोई फ्यूज समूह की जरूरत नहीं (उबंटू 16.04, नवंबर 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-group
मैट क्लेन्स्मिथ

2
18.04 को, मैंने पूरे 2 ब्लॉक को छोड़ दिया - अनुमतियाँ सेट करना और यह ठीक काम करता है।
आशावादी

3
इस उत्तर का आधा या तो काम नहीं करता है या पुराना है। कृपया अद्यतन करने पर विचार करें।
लुइस डी सूसा

18

कॉन्फ़िगर ssh कुंजी-आधारित प्रमाणीकरण

स्थानीय होस्ट पर मुख्य जोड़ी बनाएँ।

$ ssh-keygen -t rsa

दर्ज कुंजी के साथ सभी sugestions स्वीकार करें।

दूरस्थ होस्ट के लिए सार्वजनिक कुंजी की प्रतिलिपि बनाएँ:

$ ssh-copy-id -i .ssh/id_rsa.pub user@host

Sshfs स्थापित करें

$ sudo apt install sshfs

दूरस्थ दूरस्थ निर्देशिका

$ sshfs user@host:/remote_directory /local_directory

दूरस्थ fs को / etc / fstab में जोड़ने का प्रयास न करें

या /etc/rc.local के माध्यम से शेयरों को माउंट करने की कोशिश न करें।

दोनों मामलों में यह काम नहीं करेगा क्योंकि जब यह init रीड / etc / fstab नेटवर्क उपलब्ध नहीं होगा।

स्वतः स्थापित करें

$ sudo apt install autofs

संपादित करें /etc/auto.master

निम्नलिखित पंक्तियों पर टिप्पणी करें

#+/etc/auto.master.d
#+/etc/auto.master

एक नई पंक्ति जोड़ें

/- /etc/auto.sshfs --timeout=30

सेव करके छोड़ो

/Etc/auto.sshfs संपादित करें

एक नई पंक्ति जोड़ें

/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory

दूरस्थ उपयोगकर्ता नाम अनिवार्य है।

सेव करके छोड़ो

डीबग मोड में स्वत: प्रारंभ करें

$ sudo service autofs stop
$ sudo automount -vf

दूरस्थ ssh सर्वर के लॉग का निरीक्षण करें

$ ssh user@remote_server
$ sudo tailf /var/log/secure

स्थानीय निर्देशिका की सामग्री की जाँच करें

आपको दूरस्थ निर्देशिका की सामग्री देखनी चाहिए

सामान्य मोड में स्वत: प्रारंभ करें

CTRL-C के साथ डीबग मोड में चल रहे AutoFS को रोकें।

सामान्य मोड में AutoFS प्रारंभ करें

$ sudo service autofs start

का आनंद लें

(Ubuntu 14.04 पर परीक्षण किया गया)


5

मेरे प्रयोगों के आधार पर, फ़्यूज़ समूह को स्पष्ट रूप से बनाने और अपने उपयोगकर्ता को इसमें जोड़ने के लिए ssh फ़ाइल सिस्टम को माउंट करने की आवश्यकता नहीं है।

संक्षेप में, इस पृष्ठ से कॉपी किए गए चरण इस प्रकार हैं:

  1. इंस्टॉल करें I sshfs

$ sudo apt-get install sshfs

2. स्थानीय माउंट बिंदु बनाएँ

$ mkdir /home/johndoe/sshfs-path/

3. दूरस्थ रिमोट फ़ोल्डर के /remote/pathलिए/home/johndoe/sshfs-path/

$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/

  1. और अंत में, umount को ...

$ fusermount -u /home/johndoe/sshfs-path/


3

Sshfs स्थापित करें

sudo apt-get install sshfs

Fstab में जोड़ें:

<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.