У принципі це те саме, що відповідь Куїнна, але як робочий сценарій замість окремих команд, які потребують адаптації для кожної машини / використання.
Я не знаю про накладні витрати в цьому, мені здається, він шифрує / розшифровує все двічі.
#!/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, оскільки, очевидно, localhost може бути чим завгодно. Це абсолютно безпечно при аутентифікації відкритих ключів. Ні в якому разі не слід використовувати паролі, але навіть під час підключення паролів до хоста, за яким ви знаєте, що ви керуєте.