SSH-FS для удаленного сервера на другом удаленном сервере SSH - PullRequest
0 голосов
/ 18 октября 2019

Итак, существует первый SSH-сервер, который для простоты называется A, а файлы и рабочее пространство, на которые я хочу попасть, находятся на другом SSH-сервере, называемом B. Проблема в том, что B доступен только по SSH с него изО. Поэтому, если бы я делал это нормально, я бы сделал ssh в A, а оттуда ssh в B, или просто ssh -t A "ssh B", который становится слегка неэффективным, если бы я кодировал в B, используя vim.

Так что я не знаю точно, как подключить sshfs B на мою локальную машину, но я могу подключить sshfs A. Sshfs B на A невозможно, так как у A его нет. Есть ли способ использовать sshfs B?

A и B - это Ubuntu Ubuntu 18.04.3 LTS, а мой компьютер - Macbook Pro 2015. Я пробовал расширение SSH-FS с VSCode. Он подключается только к A.

Я также попробовал расширение Remote-SSH, и снова получаю только до A. Я даже использовал -t для команды подключения, но, похоже, это неизменения в конфигурационном файле Remote-SSH.

Я также пробовал ssh-fs во время туннелирования в A. Там тоже нет результатов.

Извините за беспокойство. Это действительно нишевая проблема.

1 Ответ

1 голос
/ 18 октября 2019

Вы должны использовать .ssh / config, чтобы иметь возможность подключиться к B по команде с вашего Macbook Pro.

пример:

Host serverb.via.servera
    HostKeyAlias            serverb
    User                    account_on_b
    ProxyCommand            ssh account_on_a@servera  -W serverb:22

перед использованием sshfs,вы должны проверить настройку, выполнив:

ssh  serverb.via.servera

и, если у вас есть оболочка, вы можете запустить

sshfs serverb.via.servera:/yourdir/ /tmp/localdir/

примечания:

  • serverb.via.servera - произвольная строка, которую вы должны использовать вместо хоста

  • account_on_a и account_on_b должны быть заменены логином, который вы используете на каждом сервере

...