लिनक्स-ओनली नेटवर्किंग के लिए मैं SSHFS को देशी, स्थिर और बहुत तेज पाता हूं। मेरे पास SSH के ऊपर दो Xubuntu मशीन (18.04) शेयरिंग / होम फोल्डर हैं।
यहां बताया गया है कि कैसे इसे sshfs सेट करें और पासवर्ड प्रदान किए बिना fstab का उपयोग करके रिबूट के बाद स्वचालित रूप से पुन: कनेक्ट करें । रिमोट सस्पेंड / रिज्यूमे के बाद फिर से कनेक्ट करने के लिए सर्वर कुबंज़ेक को एक बड़ा धन्यवाद ।
मैं आपके द्वारा कनेक्ट किए जा रहे कंप्यूटर के लिए "स्थानीय मशीन - सर्फबॉक्स" का उपयोग करूंगा, और आपके द्वारा कनेक्ट किए जा रहे कंप्यूटर के लिए "रिमोट मशीन - डेबॉक्स"।
आपके द्वारा उपयोग किए जाने वाले उपयोगकर्ता नाम के साथ "रिमोटसुअर" को दूरस्थ मशीन पर लॉग इन करें, और "लोकल्यूसर" उस उपयोगकर्ता नाम के साथ जिसे आप स्थानीय मशीन से लॉग इन करते हैं। echo $USER
दूरदराज और स्थानीय मशीनों पर टर्मिनल में उपयोगकर्ता नाम टाइप करने के लिए ।
इसके अलावा, अपने userID och groupID की जांच करें, वे दोनों 1000 होनी चाहिए।
समूह: उपयोगकर्ता id -g localuser
:id -u localuser
1. अपने स्थानीय और दूरस्थ मशीनों के आईपी-पता प्राप्त करें।
hostname -I
मैं स्थानीय मशीन ('सर्फ़बॉक्स') के लिए 192.168.1.150 और रिमोट मशीन ('देवबॉक्स') के लिए 192.168.1.151 का उपयोग करूँगा
2. स्थानीय और दूरस्थ मशीनों पर पैकेज स्थापित करें
sudo apt install sshfs fuse ssh
3. एक समूह फ्यूज बनाएं और इसमें लोक्यूसर जोड़ें
समूह बनाएँ: sudo groupadd fuse
समूह में स्थानीयकरण जोड़ें: sudo usermod -a -G fuse $user
4. फ्यूज कॉन्फिग में "allow_other" को सक्षम करें
जब fstab में बढ़ते हैं, तो हमें इस विकल्प की आवश्यकता होगी
/etc/fuse.conf
अपने कमांड लाइन संपादक के साथ संपादित करें । इससे पहले हैशटैग निकालें user_allow_other
और सेव करें।
5. स्थानीय मशीन पर SSH कुंजी उत्पन्न करें
संकेत दिए जाने पर पासवर्ड न दें । बस खाली छोड़ने के लिए Enter दबाएं।
ssh-keygen -t rsa -C youremail@example.com
कीज़ को लोकल मशीन होम डाइरेक्टरी /.ssh फोल्डर में स्टोर किया जाता है
6. अपने स्थानीय मशीन सार्वजनिक SSH कुंजी को दूरस्थ मशीन में स्थानांतरित करें
ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@192.168.1.151
आपको दूरस्थ मशीन पर दूरस्थ उपयोगकर्ता के लिए पासवर्ड के लिए कहा जाएगा। स्थानीय मशीन सार्वजनिक कुंजी अब फ़ाइल में जोड़ा जाता है ~ / .Ssh / अधिकृत_की दूरस्थ मशीन पर।
7. स्थानीय मशीन / mnt फ़ोल्डर पर एक निर्देशिका बनाएं जहां आप दूरस्थ मशीन / होम फ़ोल्डर को माउंट करेंगे।
कोई भी नाम चुनें जो आपके रिमोट मशीन के लिए समझ में आता है।
sudo mkdir /mnt/devboxhome
8. रिमोट मशीन / होम डायरेक्टरी को टर्मिनल से माउंट करें
Sshfs के लिए सिंटैक्स है
sshfs [user@]host:[directory] mountpoint [options]
हम प्रयोग करते हैं
sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
उदाहरण: मान लेना "स्टीव" स्थानीय और दूरस्थ दोनों मशीनों पर उपयोगकर्ता नाम है
sudo sshfs steve@192.168.1.151:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
चूंकि आपने सार्वजनिक RSA कुंजी को दूरस्थ मशीन में स्थानांतरित कर दिया है, इसलिए आपको दूरस्थ पासवर्ड के लिए संकेत नहीं दिया जाना चाहिए।
आपको एक चेतावनी मिलेगी कि मशीन पर भरोसा नहीं किया गया है और संकेत दिया गया है कि क्या इसे जोड़ा जाना चाहिए। रिमोट मशीन को विश्वसनीय के रूप में जोड़ें।
9. सत्यापित करें: दूरस्थ मशीन / होम निर्देशिका ब्राउज़ करें
स्थानीय मशीन पर टर्मिनल में अब आप / mnt / devboxhome के तहत रिमोट मशीन / होम डायरेक्टरी को सूचीबद्ध कर सकते हैं
cd /mnt/devboxhome
ls
या निर्देशिका को ब्राउज़ करने के लिए Nautilus का उपयोग करें। महान।
10. रिबूट के बाद पुन: कनेक्ट करने में सक्षम करें
हम ऐसा करने के लिए / etc / fstab में एक प्रविष्टि जोड़ेंगे। आप अपने स्थानीय मशीन userid och groupid की आवश्यकता होगी - यदि आपने इसे याद किया तो इंट्रो देखें। अपने कमांड लाइन संपादक के साथ / etc / fstab संपादित करें और / etc / fstab के अंत में इन दो पंक्तियों को जोड़ें
# Mount devbox at boot
remoteuser@192.168.1.151:/home/[remoteuser]/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/[localuser]/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
- जब तक यह रिमोट मशीन पर निर्देशिका को माउंट करने का प्रयास नहीं करता तब तक देरी_कनेक्ट कर्नेल प्रतीक्षा करता है।
- जब से हम बूट के दौरान रूट के रूप में चल रहे हैं हम में बताने की keyfile जो localuser होम निर्देशिका में संग्रहित है।
- allow_other - वास्तविक माउंटिंग करने वाले के अलावा अन्य उपयोगकर्ता माउंटेड फ़ाइल सिस्टम तक पहुंच सकते हैं।
- idmap = उपयोगकर्ता - केवल कनेक्ट करने वाले उपयोगकर्ता का यूआईडी अनुवाद करें
- फिर से कनेक्ट करें, ServersLiveInterval, ServerAliveCountMax - ssh भेजता है, जो जीवित रहता है। यदि
ServerAliveCountMax
लगातार पिंग विफल होते हैं, तो पुन: कनेक्ट करें।
स्थानीय और दूरस्थ मशीनों में एक उपयोगकर्ता लॉगिंग के रूप में होगा:
steve@192.168.1.151:/home/steve/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
महत्वपूर्ण : दूरस्थ निर्देशिका के बाद एक स्लैश: steve@192.168.1.151: / घर / स्टीव /
बचाने / आदि / fstab और ...।
11. रीबूट
अब आपको स्थानीय मशीन में दूरस्थ मशीन / होम डायरेक्टरी तक पहुँचने में सक्षम होना चाहिए / mnt / devboxhome Nautilus में आप इस फ़ोल्डर को स्थल बार में खींच सकते हैं
12. बार-बार
स्थानीय मशीन साझा की / घर निर्देशिका बनाने के लिए रिमोट मशीन पर फिर से उसी चरण के माध्यम से जाओ।