Về nguyên tắc, nó giống như câu trả lời của quinn, nhưng là một tập lệnh hoạt động thay vì các lệnh riêng biệt cần điều chỉnh cho mỗi máy / cách sử dụng.
Tôi không biết về chi phí trong việc này, đối với tôi có vẻ như nó mã hóa / giải mã mọi thứ hai lần.
#!/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" &
Tôi vô hiệu hóa HostAuthenticationForLocalhost vì rõ ràng localhost có thể là bất cứ thứ gì. Điều này là hoàn toàn an toàn với xác thực khóa công khai. Dù sao thì bạn cũng không nên sử dụng mật khẩu, nhưng ngay cả với mật khẩu bạn đang kết nối với máy chủ bạn biết bạn kiểm soát.