Pregunta Montaje de un sistema de archivos remoto (sshfs) a través de una máquina intermedia


La situación:

  • Estoy trabajando desde máquina1, donde tengo acceso root. De máquina1 Puedo acceder máquina2 (donde soy un usuario sin privilegios) a través de ssh.
  • máquina3 (también el usuario sin privilegios) no es directamente accesible desde máquina1. Necesito usar una conexión ssh de máquina2 acceder máquina3.
  • En breve: máquina1 puede ssh en máquina2 pero no en máquina3. máquina2 puede ssh en máquina3.

Lo que quiero hacer:

  • Quiero usar sshfs para montar en máquina1 un directorio local (propio) ubicado en máquina3.

Complicaciones

  • sshfs no está disponible en máquina2.

¿Cómo puede hacerse esto?


5
2017-11-13 10:02


origen


Respuestas:


Puede usar ssh para reenviar el puerto 22 de machine3 a machine1 a través de machine2, como

user1@machine1:$ ssh -L 2222:machine3:22 user2@machine2

Después de eso configure sshfs en machine1 para usar localhost:2222 puerto (en la segunda pestaña terminal):

user1@machine1:$ sshfs user3@localhost:/some/machine3/dir /some/local/dir -p 2222

8
2017-11-13 10:09



Teóricamente, monte la máquina 3 en la máquina 2 a través de sshfs, luego monte el directorio sshfs de la máquina 2 en la máquina 1.

Como usuario sin privilegios, solo puede crear carpetas en su directorio de inicio.

Entonces, en teoría, esto debería funcionar (pero ser lento):

máquina2:

mkdir /home/<username>/sshfs
sshfs <machine3_username>@machine3:/ /home/<username>/sshfs

máquina1:

mkdir -p /mnt/sshfs
sshfs <machine2_username>@machine2:/home/<username>/sshfs /mnt/sshfs

1
2017-11-13 10:07