
Как разрешить 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!