В моей компании есть 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
) или сокрытие порта за брандмауэром