Как создать агент туннелирования SSH через HTTPS?

Как создать агент туннелирования SSH через HTTPS?

Как разрешить SSH, если сеть заблокирована на всех портах, кроме HTTP и HTTPS?

Мне интересно узнать, как создать SSH-туннель, который позволит мне подключаться по SSH через порт 443 и будет работать даже после перезагрузки сервера?

Я пытаюсь использовать Laravel Forge для настройки сервера. Однако если порты SSH заблокированы, Laravel Forge не будет работать. Поэтому я пытаюсь найти способ разрешить SSH для Laravel Forge через агента туннелирования.

решение1

Ну, если порт 443 используется веб-сервером, вы не сможете повторно использовать его для чего-то другого (на самом деле есть способы сделать это). Я бы предложил, чтобы сервер создал исходящее SSH-соединение с другим компьютером, вполне вероятно, что политика брандмауэра это разрешит.

Сделайте что-то вроде этого:

ssh -L 2222:localhost:22 some.other.server

(Возможно, даже сделать его постоянным с помощью сервиса.https://gist.github.com/drmalex07/c0f9304deea566842490)

Затем войдите на some.other.server и сделайте следующее:

ssh -p 2222 webserveruser@localhost

Или позвольте вашей автоматизации подключиться к этому порту.

Чтобы сделать еще один шаг вперед, вы можете использовать опцию прыжка, чтобы подпрыгнуть напрямую.черезпромежуточный сервер. Ваш .ssh/config может выглядеть примерно так.

Host intermediate.server
  HostName intermediate.server
  User someuser
  IdentityFile ~/.ssh/id_rsa


Host webserver
  HostName localhost
  User someuser
  Port 2222
  IdentityFile ~/.ssh/id_rsa
  ProxyJump intermediate.server

эффективно позволяя вам сделать это:

ssh webserver

Обожаю ssh!

Связанный контент