Монтирование удаленной файловой системы (sshfs) через промежуточную машину

Ситуация:

  • Я работаю с компьютера1, где у меня есть root-доступ. С machine1 я могу получить доступ к machine2 (где я являюсь пользователем без привилегий) через ssh.
  • machine3 (также пользователь без прав) не доступен напрямую с machine1. Мне нужно использовать ssh-соединение с machine2 для доступа к machine3.
  • Вкратце: machine1 может подключаться по ssh к machine2, но не к machine3. machine2 может подключаться по SSH к machine3.

Что я хочу сделать:

  • Я хочу использовать sshfs для монтирования на машине1 локальной (собственной) директории, расположенной на машине3.

Осложнения:

  • sshfs недоступен на machine2.

Как это может быть сделано?


person Miguel    schedule 13.11.2013    source источник


Ответы (2)


Вы можете использовать ssh для переадресации порта 22 с машины3 на машину1 через машину2, например

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

После этого настройте sshfs на машине1 для использования порта localhost:2222 (во второй вкладке терминала):

user1@machine1:$ sshfs user3@localhost:/some/machine3/dir /some/local/dir -p 2222
person Tomek Rękawek    schedule 13.11.2013
comment
@Tomek Rękawek: Хороший. - person Stefan Steiger; 13.11.2013

Теоретически смонтируйте машину 3 на машине 2 через sshfs, затем смонтируйте каталог sshfs машины 2 на машине 1.

Как пользователь без прав, вы можете создавать папки только в своем домашнем каталоге.

Итак, теоретически это должно работать (но медленно):

машина2:

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

машина1:

mkdir -p /mnt/sshfs
sshfs <machine2_username>@machine2:/home/<username>/sshfs /mnt/sshfs
person Stefan Steiger    schedule 13.11.2013
comment
Я забыл сказать, что sshfs недоступен на machine2. - person Miguel; 13.11.2013
comment
@Miguel: Тогда ответ Томека Рекавека должен сработать. Возможно, вам придется скопировать id_rsa.pub & private на машину1 и создать там учетную запись пользователя, если вы используете ssh с закрытыми открытыми ключами вместо пароля. - person Stefan Steiger; 13.11.2013