Доступ к внутреннему серверу снаружи через SSH

Проблема следующие:

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

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

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

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

4
задан 28.12.2010, 11:35

2 ответа

Вот решение: 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, например) настроен следующим образом: хост: порт localhost: 5 555 имен пользователя: пароль имени пользователя базы данных: пароль базы данных

4
ответ дан 07.12.2019, 20:25

Можно сделать реверс ssh туннель для прокалывания дыры через брандмауэр корпорации. Сделайте это из компании:

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

Когда Вы зарегистрированы, можно соединиться из дома путем выполнения:

ssh -p5000 localhost
1
ответ дан 07.12.2019, 20:25

Теги

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