โดยหลักการแล้วมันก็เหมือนกับคำตอบของ quinn แต่เป็นสคริปต์การทำงานแทนที่จะใช้คำสั่งแยกต่างหากซึ่งต้องมีการดัดแปลงสำหรับแต่ละเครื่อง / การใช้งาน
ฉันไม่รู้เกี่ยวกับค่าใช้จ่ายในเรื่องนี้ดูเหมือนว่าฉันชอบมันเข้ารหัส / ถอดรหัสทุกอย่างสองครั้ง
#!/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 สามารถเป็นอะไรก็ได้ นี่คือความปลอดภัยอย่างสมบูรณ์แบบด้วยการตรวจสอบคีย์สาธารณะ คุณไม่ควรใช้รหัสผ่านอยู่ดีแม้ว่าจะใช้รหัสผ่านที่คุณเชื่อมต่อกับโฮสต์ที่คุณรู้จัก