3 पॉइंट द्वारा GN⁺ 2023-09-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • SSHFS SFTP का उपयोग करके remote filesystem को mount करने देता है, और अधिकांश SSH server डिफ़ॉल्ट रूप से SFTP access को support और enable करते हैं, इसलिए server side पर किसी अतिरिक्त काम के बिना इसका उपयोग किया जा सकता है
  • deadbeefsociety/sshfs maintenance fork को archive कर दिया गया है क्योंकि SSHFS अब परित्यक्त स्थिति में नहीं है; उपयोग के लिए libfuse/sshfs है
  • SSHFS प्रमुख Linux distributions में शामिल है और कई systems पर लंबे समय से production में उपयोग होता रहा है, लेकिन इस समय नियमित रूप से सक्रिय contributors नहीं हैं, और ज्ञात issues bugtracker में हैं
  • वर्तमान maintainer pull request merge करने और नियमित releases जारी रखने का काम जारी रखे हुए हैं, लेकिन high-impact issues को संभालने के अलावा development capacity नहीं है, और pull request के बिना bug reports या non-critical issues का जवाब मिलने की संभावना कम है
  • मूल execution format है sshfs [user@]hostname:[directory] mountpoint, और सामान्य user के रूप में चलाना अनुशंसित है, तथा mountpoint उसी user के स्वामित्व में होना चाहिए
    • यदि user name छोड़ा जाए, तो local user name का उपयोग होता है
    • यदि directory छोड़ी जाए, तो remote home directory mount होती है
    • यदि password चाहिए, तो sshfs द्वारा चलाया गया ssh password prompt दिखाता है
  • -oport=PORT सहित कई ssh options दिए जा सकते हैं, और unmount करने के लिए Linux पर fusermount -u mountpoint, BSD और macOS पर umount mountpoint का उपयोग करें
  • build के लिए libfuse 3.1.0 या उससे नया, या libfuse3-compatible interface, development headers के साथ Glib, Meson 0.38 या उससे नया, और Ninja की आवश्यकता है; tests चलाने के लिए py.test Python module चाहिए

1 टिप्पणियां

 
GN⁺ 2023-09-06
Hacker News की राय
  • अगर आप user space में चलने वाली चीज़ चाहते हैं और Emacs ठीक लगता है, तो TRAMP “Transparent Remote (file) Access, Multiple Protocol” मौजूद है: https://www.gnu.org/software/tramp/
    MacBook Pro से server files access करते समय मैं इसे अक्सर इस्तेमाल करता हूँ

    • TRAMP की सबसे अच्छी बात यह है कि remote system की directory में cd करने के बाद, current working directory से local machine या किसी दूसरे remote पर files cp कर सकते हैं, और उल्टा local से current remote working directory में भी copy कर सकते हैं
      TRAMP इस्तेमाल करने से पहले remote पर SSH login करना, cd और ls से copy location ढूँढना, SSH session disconnect करना, फिर scp या rsync से files transfer करना, और आम तौर पर फिर से SSH में घुसना पड़ता था
    • संदर्भ के तौर पर, Emacs की कई सुविधाएँ, शायद अधिकतर या सभी, Tramp के साथ पारदर्शी तरीके से काम करती हैं। इसमें dired, eshell, magit भी शामिल हैं
  • दिलचस्प है। मैं हमेशा सोचता था कि sshfs OpenSSH का हिस्सा है, लेकिन रोज़ कुछ नया सीखने को मिलता है
    Slackware में इस्तेमाल होने वाला sshfs भी छोड़ा हुआ लगता है: https://github.com/libfuse/sshfs
    लिंक के उद्धरण को देखकर सोचता हूँ कि क्या यह project उसका “अगला उत्तराधिकारी” बनेगा

    If you would like to take over this project, you are welcome to do so. Please fork it and develop the fork for a while. Once there has been 6 months of reasonable activity, please contact Nikolaus@rath.org and I'll be happy to give you ownership of this repository or replace with a pointer to the fork.
    यह भी सोचता हूँ कि कहीं Bluetooth में जो हुआ था, उसी तरह RHEL पुनर्गठन के कारण इसे छोड़ा तो नहीं गया

    • OpenSSH maintainers के लिए इसे संभालना काफी उपयुक्त लगता है। मैं भी सोचता था कि यह Linux के मुख्य SSH infrastructure का हिस्सा है
  • संदर्भ के लिए, Mac पर वर्षों तक macFUSE + sshfs इस्तेमाल करने के बाद, अब मैं सिर्फ बेहतरीन Mountain Duck tool install करके इस्तेमाल करता हूँ। Finder और mount point के जरिए SFTP endpoint access कर सकता हूँ
    बहुत अच्छा software है और मेरे लिए अनिवार्य है

    • हाल ही में मैं फिर rsync.net customer बना, और documents देखते समय थोड़ा हैरान हुआ कि Mac integration के recommended option के रूप में अभी भी Fuse/sshfs दिया हुआ है: https://www.rsync.net/resources/howto/mac_sshfs.html
      कुछ महीने पहले इसी वजह से मैंने ExpanDrive/StrongSync आज़माया था, और Mountain Duck के बारे में इस बार पहली बार सुना। Cyberduck मुझे पसंद है। अब इसे आज़माने का सोच रहा हूँ; अगर यह अच्छी तरह काम कर रहा है, तो अच्छा होगा कि कोई उस page को बाकी लोगों के लिए update कर दे। बाकी मामलों में मैं संतुष्ट customer हूँ
    • record के लिए, macOS में अब https://www.fuse-t.org/ है। यह kernel extension के बिना काम करता है, background में local NFS server चलाता है और फिर macOS उससे connect करता है
      sshfs implementation भी https://github.com/macos-fuse-t/fuse-t/wiki#sample-filesyste... पर उपलब्ध है
    • मैं भी मुख्य रूप से Mountain Duck इस्तेमाल करता हूँ। हालांकि VSCode में Microsoft का Remote SSH extension VM या किसी दूसरे remote machine के repository work में बहुत मदद करता है
      macOS पर Libfuse/SSHFS कुछ सालों से इस्तेमाल करने में काफी बोझिल हो गया था, इसलिए मैं भी Mountain Duck पर आ गया
  • अफसोस है कि sshfs अब maintain नहीं हो रहा। स्कूल में remote compute server पर सभी Vim plugins install किए बिना, अपने ढेर सारे Vim plugins के साथ code edit करने के लिए मैं sshfs इस्तेमाल करता था
    मुझे हैरानी हुई कि system उम्मीद से कहीं ज्यादा smoothly काम करता था

  • मुझे लगता है SFTP अच्छा लेकिन कम आंका गया protocol है। file tree को एक तरफ से दूसरी तरफ replicate करने के बजाय, कई मामलों में दोनों दिशाओं में mirroring ज्यादा समझ में आती है
    SSHFS code fork करके देखने के बाद, related material और अपने personal thoughts को https://hackmd.io/@q/sftp-over-ws पर व्यवस्थित करके maintain कर रहा हूँ

    • SFTP, FTP की तुलना में बड़ा सुधार है, लेकिन server side पर अभी भी बहुत सारी unrealized potential है, इसलिए सिर्फ बेहतर clients बनाने से समस्या हल नहीं होगी
      OpenSSH और GNU lsh servers दोनों केवल पुराने protocol versions देते हैं। शायद v2 होगा। यह पुरानापन एक जानबूझकर किया गया choice है: https://marc.info/?l=openssh-unix-dev&m=168488976013498&w=2
  • technology combination थोड़ा अलग है, लेकिन मैं कुछ समय से WireGuard के ऊपर NFS काफी संतोषजनक तरीके से इस्तेमाल कर रहा हूँ

    • TCP channel reset होने पर NFS reconnect को ज्यादा graceful तरीके से संभालता है, और यह बड़ा advantage है
      filesystem features भी ज्यादा implemented हैं, इसलिए df report remote filesystem usage को ठीक-ठीक reflect करती है
      इसके अलावा NFSv4 “delegations” देता है, जिससे expiring lease के रूप में file का पूरा control client को दिया जा सकता है। modern NFS clients में “polite delegations” भी होते हैं, जो lease period को implicit रूप से extend करते हैं
      SSHFS minimal setup के साथ “quick and dirty” mount के लिए बहुत convenient है
    • मैं उल्टी दिशा में गया। VPN infrastructure बहुत stable है, लेकिन मैंने storage approach में switch किया
      एक बहुत simple DVFS storage utility से files sync करने के बाद पीछे मुड़कर नहीं देखा। मुझे अलग-अलग जगहों पर कई copies रखना पसंद है
    • कुछ साल पहले मैंने sshfs से NFSv4 + WireGuard पर switch किया, और यह बहुत अच्छी तरह काम करता है
  • अब जब sshfs जैसी functionality चाहिए होती है, तो ज़्यादातर rclone mount इस्तेमाल करता/करती हूँ। Performance, stability और cache options बेहतर हैं

    • हालांकि rclone पूरे file को transfer किए बिना file के बीच में write नहीं कर सकता। यही सबसे बड़ी समस्या है
      sshfs में भी यही limitation हो सकती है
  • अफसोस, यह fork बहुत active नहीं दिखता। आख़िरी commit मार्च में था, और PR व issue activity भी लगभग नहीं है
    मैं इस पर उम्मीद नहीं लगाऊँगा/लगाऊँगी

    • अगर project stable हो, तो आप कितनी activity की उम्मीद करते हैं?
    • “Active” की JavaScript-style definition है: जो ठीक चल रहा है उसे छेड़कर खराब कर देना
  • Nautilus, यानी Ubuntu का file explorer, SFTP folder mount support करता है। अंदर से शायद gvfs इस्तेमाल करता है
    SFTP file transfer के लिए SSH connection इस्तेमाल करता है, इसलिए SSHFS से तुलना में UI का अंतर नहीं दिखा

    • Nautilus GUI में SFTP endpoint browse कर सकते हैं, लेकिन क्या यह साथ-साथ terminal में इस्तेमाल किए जा सकने वाला filesystem mount point भी बनाता है?
      ठीक से याद नहीं
  • Mac OS X पर macFUSE/osxfuse के साथ rclone या sshfs इस्तेमाल करके देखा है किसी ने?

    • मैं Macfuse से अपने सभी servers को local folders की तरह attach करके इस्तेमाल कर रहा/रही हूँ। अच्छे से काम करता है
      हर server के लिए एक छोटा script है। उदाहरण के लिए mount_fooserver.sh:
      umount -f ~/mounts/fooserver
      sshfs -o kill_on_unmount,reconnect,allow_other,defer_permissions,direct_io username@server:/ ~/mounts/fooserver -ovolname=foo
    • M1 पर macFUSE और sshfs से office के Linux box की drive mount करता/करती हूँ। कुल मिलाकर ठीक है, लेकिन इसकी अपनी थोड़ी खड़खड़ाहट है
      Setup process काफ़ी adventure जैसा था और कुछ बार लगा कि क्या यह सही है, लेकिन आगे बढ़ता/बढ़ती गया/गई तो अच्छे से चल गया
    • ऊपर मेरा top-level comment देखिए। जवाब है “Mountain Duck”
    • Monterey, M1 पर sshfs काम करता है, लेकिन थोड़ा slow है