Назад | Перейти на главную страницу

Как подключиться по ssh к серверу Linux за корпоративным брандмауэром?

В моей компании есть Linux-сервер (CentOS 6 VM) за корпоративным брандмауэром, у меня есть полный root-контроль над виртуальной машиной, но у меня нет контроля над брандмауэром. На нем работает ssh-сервер, и я могу подключиться к нему по ssh в сети компании.

Я хочу использовать ssh для этой виртуальной машины, когда я за пределами сети компании. Как мне этого добиться?

Эта виртуальная машина Linux работает на хост-машине Mac, к которой я могу подключиться с помощью logmein, а затем получить доступ к виртуальной машине Linux. Я хотел бы использовать ssh напрямую на виртуальной машине Linux.

Я предполагаю, что должно быть какое-то рукопожатие, инициированное виртуальной машиной Linux с внешней машиной, чтобы это сработало?

Я бы спросил в ИТ-отделе. Есть причина, по которой они установили этот брандмауэр, и то, что вы пытаетесь сделать, может противоречить политике безопасности. Они должны знать, что вам необходимо получить доступ к этому серверу извне сети компании. Если с политикой безопасности проблем нет, они помогут вам получить этот доступ.

Вы исправляете корпоративный брандмауэр, чтобы разрешить вход по SSH. Вы можете не иметь контроля над брандмауэром, но если в доступе есть бизнес-необходимость, то любая разумная корпоративная политика должна разрешить его, и если вы работаете на кого-то, у кого нет разумного политики, тогда привет http://careers.serverfault.com/.

Если у вас есть сервер, который можно использовать в обоих местах, вы можете настроить обратный туннель ssh.

http://www.marksanborn.net/howto/bypass-firewall-and-nat-with-reverse-ssh-tunnel/

Самый правильный способ - это попросить вашего сетевого администратора настроить для вас сервер vpn, чтобы вы могли получить доступ ко всем своим сетевым ресурсам, находясь за пределами сети вашей компании.

Вы можете создать туннель ssh из behindvpn к outsidevpn хост.

behindvpn$ ssh -R 1234:localhost:22 outsidevpn

Это откроет порт 1234 на outsidevpn хост, который будет перенаправлять соединения на порт 22 на behindvpn хост.

Теперь вы можете подключиться к хосту backvpn с помощью:

$ ssh outsidevpn -p 1234

Примечание: Возможно, вам потребуется убедиться, что ваше соединение не прервется, например, из-за бездействия или тайм-аута оболочки.

Примечание: Вы также можете принять некоторые меры, чтобы не сильно снизить безопасность интрасети:

  • делая все ssh пароли на ВМ сложно угадать
  • убедиться, что машина, на которой вы создаете туннель, безопасна (доступна только вам, имеет антивирусное программное обеспечение, брандмауэр и т. д.)
  • установка bind_address для туннеля на немаршрутизируемый адрес (например, 127.0.0.1) или сокрытие порта за брандмауэром
  • ограничивать время, когда порт открыт, только тогда, когда это действительно необходимо
  • ограничить доступ к порту только вам