У меня есть сервер apache на work.com, который разрешает только входящие HTTP- и HTTPS-запросы через обычные порты 80 и 443. Это единственные порты, открытые в сети.
Я хотел бы иметь возможность подключаться к серверу по SSH, когда нахожусь дома, но ИТ-специалисты отказываются открыть порт 22.
Есть ли способ настроить apache для приема трафика SSH по адресу ssh.work.com и перенаправления его на sshd на порт 80?
Есть sslh для этого.
Если вам нужен доступ к оболочке, вы должны просто получить его в своей организации и не делать странных вещей, чтобы получить его.
При этом вы можете установить веб-оболочка или в любое время и выполните то, что вам нужно, но получите обычный доступ к оболочке, иначе у вас могут возникнуть проблемы. Уловка с веб-оболочкой удобна, когда вам нужно установить на домашнем компьютере оболочку из одной из тех прокси-сетей, которые мы все знаем.
видеть это руководство при использовании штопора
Во-первых, если вы собираетесь попытаться запустить ssh на нестандартном порте, чтобы обойти ваши локальные ИТ-политики (как мне кажется, ошибочные), нормально использовать 443, а не 80. Это потому, что http часто по доверенности организаций; это проксирование часто выполняется прозрачно, поэтому бывает сложно определить, происходит ли это. Напротив, HTTPS, являющийся сквозным шифрованием, обычно невозможно прокси, поэтому большинство организаций либо не беспокоятся, либо настраивают прокси как простой сквозной. Это делает TCP / 443 более безопасным выбором для нестандартного ssh, чем TCP / 80. Я заметил, что предложение Джоши использовать sslh предназначено для сосуществования с https, а не с http.
Тем не менее, насколько мне известно, ssh не поддерживает какую-либо поддержку имени виртуального хоста, поэтому использование ssh.work.com не будет работать, если оно разрешается в IP-адрес, на котором уже запущен настоящий прослушиватель apache по TCP / 443. Однако, если у вас есть общедоступный IP-адрес, который вы можете сэкономить только для этой цели на своем рабочем компьютере, вы можете настроить sshd для работы на порту 443 с помощью
Port 443
в sshd_config
, а затем просто укажите удаленному ssh-клиенту на свой IP-адрес с -p 443
флаг.
Если вы не можете выделить для этого IP-адрес, тогда sslh - ваш помощник.