सिद्धांत रूप में यह क्विन के उत्तर के समान है, लेकिन अलग-अलग कमांड के बजाय एक कामकाजी स्क्रिप्ट के रूप में जिसे प्रत्येक मशीन / उपयोग के लिए अनुकूलन की आवश्यकता होती है।
मैं इस बारे में ओवरहेड के बारे में नहीं जानता, यह मुझे ऐसा लगता है जैसे यह सब कुछ दो बार एन्क्रिप्ट / डिक्रिप्ट करता है।
#!/bin/bash
# Reverse sshfs. You need ssh servers on both ends, the script logs first
# onto the remote end and then back into the local one
# Usage: sshfsr dir [user@]host:mountpoint [options]
# [options] are passed on to the remote sshfs
set -e
LOCALPATH=$1
REMOTE=$(echo $2 | grep -o '^[^:]*')
REMOTEPATH=$(echo $2 | grep -o '[^:]*$')
ARGS=${@:3}
LOCALUSER=$(whoami)
PORT=10000
ssh $REMOTE -R $PORT:localhost:22 "sshfs -o NoHostAuthenticationForLocalhost=yes -p $PORT $ARGS $LOCALUSER@localhost:$LOCALPATH $REMOTEPATH" &
मैं HostAuthenticationForLocalhost को अक्षम करता हूं क्योंकि जाहिर है कि लोकलहोस्ट कुछ भी हो सकता है। यह सार्वजनिक कुंजी प्रमाणीकरण के साथ पूरी तरह से सुरक्षित है। आपको वैसे भी पासवर्ड का उपयोग नहीं करना चाहिए, लेकिन यहां तक कि उन पासवर्डों से भी जिन्हें आप होस्ट करते हैं, जिन्हें आप जानते हैं कि आप नियंत्रण करते हैं।