подключиться к диску через ssh hops

Я пытаюсь подключить свой жесткий диск, установленный на моем Raspberry Pi, через Интернет. У меня где-то есть сервер, доступный через ssh, который я могу использовать в качестве концентратора.

A (дом) ‹----> B (сервер) ‹----> C (pi)

Я могу создать туннель от сервера B к pi через обратный туннель следующим образом:

ssh -f -N -R 10000: локальный хост: 22 пользователь @ удаленный сервер

Итак, теперь я могу подключиться из дома к серверу B, а затем к пи. Но я хочу сделать это за один шаг и с помощью sshfs. Итак, как я могу использовать sshfs, чтобы он использовал этот туннель и подключался домой к пи?

редактировать: я, вероятно, могу смонтировать диск pi в системе B, а затем снова смонтировать его в системе A, но будет ли это значительно медленнее или плохо по какой-то другой причине?


person Julian    schedule 02.09.2017    source источник


Ответы (1)


Используйте ssh -o ProxyCommand='ssh user@remoteserver nc %h %p' user@yourpi, чтобы получить доступ по SSH через ваш сервер.

Я не уверен, распознает ли sshfs параметр -o ProxyCommand из cli (и не могу проверить его прямо сейчас), но вы можете попробовать.

Другой способ — отредактировать файл .ssh/config и добавить:

Host pi
   ProxyCommand ssh user@remoteserver nc -q0 %h %p

А затем просто использовать sshfs user@pi[:directory] mountpoint

Все это предполагает, что у вас установлен netcat (nc).

person Khoyo    schedule 02.09.2017
comment
Спасибо за Ваш ответ! Хотя сам пи недоступен через Интернет (поэтому мне пришлось создать обратный туннель от пи до удаленного сервера). Итак, каким должен быть user@yourpi? - person Julian; 02.09.2017
comment
Что ж, часть yourpi — это просто адрес, который вы используете на своем сервере;) - person Khoyo; 02.09.2017
comment
ах отлично, спасибо! в моем случае это локальный хост, и я должен указать порт. Так что это работает для меня: ssh -o ProxyCommand='ssh user@remoteserver nc %h %p' user@localhost -p 10000 - person Julian; 02.09.2017