Иногда мне приходится работать удаленно. Для этого мне нужно подключиться к серверу шлюза, через который я затем смогу подключиться к серверу разработки. На работе я могу подключиться напрямую к серверу разработки. Я использую SSHFS для сопоставления удаленной папки с локальной (в Ubuntu). Мои коллеги, похоже, не возражают против использования vim для всей своей работы, но я действительно предпочитаю IDE. Я знаю, что используя только ssh, я могу туннелировать через несколько соединений (ssh -t server1 ssh -t server2), но я хотел бы сделать то же самое с SSHFS. Кто-нибудь знает, как это можно реализовать?
SSHFS через несколько подключений
Ответы (1)
Да, это может быть сделано. Для этого удаленный сервер должен поддерживать перенаправление локальных портов (которое может быть отключено из соображений безопасности). Что вы в основном делаете, вы указываете удаленному серверу открыть для вас туннель к серверу в другой сети:
ssh -fL 127.0.0.1:someport:host.in.the.remote.net:22 proxy.host
someport должен быть неиспользуемым портом на вашем компьютере (например, 2222), host.in.the.remote.net должен быть именем хоста или IP-адресом компьютера для разработки, который вы в конечном итоге хотите подключиться из сети proxy.host, который является промежуточным сервером, через который вам нужно пройти. -f
указывает ssh отключиться от терминала после установления соединения.
Вы запускаете эту команду, и после того, как она работает в фоновом режиме, ssh-порт удаленной машины может называться 127.0.0.1:someport
и может использоваться как таковой sshfs. Я не знаю, как это автоматизировать, но вы легко сможете написать сценарий.
Обязательно заранее отмените это действие с удаленным администратором, если вы не уверены в политиках. Возможно, вам придется изменить 22
в первой команде, если машина разработки обслуживает ssh на другом порту.
ssh
: sshfs -p 2222 user@localhost:host_dir local_dir
- person mitsi; 20.01.2020