SSH через маршрутизатор к внутреннему файловому серверу

Это не "терминальная" проблема, это - функция файловой системы. Как оболочка должна искать Ваши команды на (всегда чувствительный к регистру) файловая система?

3
02.12.2013, 22:22
2 ответа

Можно сделать это через ssh's ProxyCommand средство. Добавьте следующее к Вашему $HOME/.ssh/config файл. Создайте его, если это не существует только с этим содержанием:

Host remoteserverX
    User userint
    ProxyCommand ssh userext@externalserver nc remoteserverX %p
Host remoteserverY
    User userint
    ProxyCommand ssh userext@externalserver nc remoteserverY %p

Вы затем соединяетесь с различными внутренними удаленными серверами как это:

$ ssh remoteserverX

-or-

$ ssh remoteserverY

Это - верхушка айсберга насколько эта функция идет. Проверьте это названные Вопросы и ответы U&L: SSH туннелируют через сервер посредника - как соединиться за один шаг (использующий пару ключей)?, для получения дополнительной информации.

Примечание: Вышеупомянутый метод использует названный инструмент nc (netcat), который должен быть в репозиториях любых главных дистрибутивов.

Это не точно то же как перенаправление Nginx, Вы туннелируете через внешнюю систему для получения до внутренней системы, но это имеет подобный эффект.

Сложные примеры

  1. Один Host строка файла конфигурации, много хостов.

    Host *.mydom.com *
        ProxyCommand ssh externalserver nc %h %p
    
  2. Одна 'Строка файла конфигурации хостов, для многих пользователей.

    Добавьте Hosts строка файла конфигурации к системе /etc/ssh/ssh_config файл так, чтобы любой входящий в поле мог использовать его.

3
27.01.2020, 21:23

Будут различные подходы в зависимости от того, как Вы хотите соединиться с файловым сервером.
Одна опция состоит в том, чтобы портировать вперед трафик FTP так, чтобы, когда Вы FTP к Вашему "маршрутизатору" это передает его хотя файловому серверу. shorewall документы могли бы быть полезными здесь.
http://articles.slicehost.com/2007/10/10/rsync-exclude-files-and-folders
Единственная проблема с этим - то, что это подвергает Ваш файловый сервер внешнему трафику. В этом случае Вы могли изменить порт, который Вы используете на маршрутизаторе для соединения, например
Используйте порт 2121 на маршрутизаторе и имейте его вперед до порта файлового сервера 21 и затем измените порт на Вашем клиенте FTP для отражения этого.

0
27.01.2020, 21:23

Теги

Похожие вопросы