4

Вопрос заключается в следующем:

Я использую Ubuntu Linux.

Я работаю дома, и мне нужен доступ к базе данных PostgreSQL в сети моей компании. Вызовите сервер БД X. По соображениям безопасности, только один компьютер может быть доступен извне с помощью ssh, назовите его Y.

Таким образом, сценарий: Home <- SSH -> Y <-----> X(DB)

Я думаю, что что-то вроде пересылки SSH (настроенное в .ssh/config) могло бы помочь с этим, но я не уверен, как это сделать, есть идеи?

2 ответа2

4

Вот решение:http://www.spencerstirling.com/computergeek/sshtunnel.html

Это делает SSH туннелирование с пересылкой через шлюз. Для приведенного выше сценария вам нужно выполнить следующую команду:

ssh -N -L 5555:X:5432 user@Y

Где X - это имя сервера базы данных, которое используется для адресации с Y. 5555 - это просто какой-то произвольный порт, не используемый на вашей домашней машине, а 5432 - это порт, который прослушивает сервер базы данных PostgreSQL на X. Когда вы вводите эту команду, вам будет предложено ввести пароль, который вы используете для входа в Y.

Клиент PostgreSQL (например, pgAdmin) настраивается следующим образом: хост: порт локального хоста: 5555 имя пользователя: пароль имени пользователя базы данных: пароль базы данных

1

Вы можете сделать обратный туннель SSH, чтобы пробить дыру в межсетевом экране корпорации. Сделайте это внутри компании:

ssh -nNT -R 5000:localmachinename:22 username@corpserver.com

Когда вы вошли в систему, вы можете подключиться из дома, выполнив:

ssh -p5000 localhost

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .