SSHFS через прыжковый хост
У меня 3 компьютера. А, В и С.
Я тот, на ком я сейчас. B - это трамплин, через который я могу пройти через SSH от A до компьютера C, используя ssh -t B_host ssh C_host
,
То, что я хотел бы сделать, это смонтировать файловую систему C в A с помощью команды SSHFS, но краткий обзор справочных страниц не показал никаких команд связывания.
Это возможно?
3 ответа
При необходимости это также можно сделать непосредственно в командной строке с помощью:
sshfs -o ssh_command="ssh -J B_host" C_host:/<path> <mountpoint>
Спасибо этому ответу Unix &amp; Linux за информацию. Тем не менее, этот вопрос ServerFault в настоящее время является лучшим результатом Google для sshfs jumphost, поэтому скопируйте информацию и сюда, чтобы, надеюсь, сэкономить время некоторым будущим искателям.
С тех пор была выпущена более простая версия механизма, упомянутого в более старом ответе. Все еще используя ~/.ssh/config, это будет выполнять тот же самый простой синтаксис:
Host <host alias>
User <host_username>
HostName <host_name>
ProxyJump [user@]<jump host>[:port]
Отрабатывая аналогичный вопрос на основе SFTP/SCP, вы должны изменить файл конфигурации SSH следующим образом (находится ~/.ssh/config
)
Host B
HostName <B_host>
User <B_user>
ForwardAgent yes
Host C
User <C_user>
HostName <C_host>
ProxyCommand ssh B -W %h:%p
И тогда это "просто работает", когда вы запускаете следующее из A:
sshfs hostC:/<path to mount on C> <path to mount on A>
Brilliant!