Как использовать ssh по http или https?

По некоторым причинам у Вас нет setuid набора битов на Вашем su и sudo исполняемые файлы. Этот бит требуется так, чтобы su и sudo может поднять Вас для выполнения как пользователь root. Можно восстановить бит setuid при помощи chmod как корень:

chmod u+s "$(command -v su)" "$(command -v sudo)"

44
21.07.2017, 10:47
3 ответа

Что возможно, зависит от того, что позволяет брандмауэру.

Если брандмауэр позволяет произвольному трафику на порту 443

Некоторые брандмауэры простым выходным выходом и позволяют что-либо на порту 443. Если это так, самый простой способ достичь вашего домашнего сервера - сделать его прослушивание SSH Connections На порту 443. Если ваша машина напрямую подключена к Интернету, просто добавьте порта 443 в / etc / ssh / sshd_config или / etc / sshd_config чуть ниже Линия, которая говорит порт 22 . Если ваша машина находится за маршрутизатором / брандмауэром, которое перенаправляет входящие соединения, сделайте его перенаправить входящие соединения с портом 443 к порту 22 вашего сервера 22 с чем-то вроде

iptables -t nat -I PREROUTING -p tcp -i wan0 --dport 443 -j DNAT --to-destination 10.1.2.3:22

, где WAN0 - это интерфейс WAN на вашем маршруте и 10.1 .2.3 - IP-адрес вашего сервера в вашей домашней сети.

Если вы хотите позволить вашему домашнему серверу прослушать как к подключениям HTTPS, так и для SSH-соединений на порту 443, возможно, можно легко отличить трафик SSH и HTTPS (в SSH, сервером переговаривает сначала, тогда как в HTTP и HTTPS, Сначала переговоры клиента). См. http://blog.cstalkr.net/2012/02/sshhttp-multiplexing-with-sshttp.html и http://wroousnel.github.io/articles/setting%20up% 20sshttp / Для учебных пособий о том, как установить это с SSHTTP , а также иметь SSH на порту 80 или 443, когда веб-сервер (NGINX) работает на этих портах

, если у вас есть Веб-прокси, который позволяет подключить туннелирование

, несколько брандмауэров блокируют все исходящие соединения, но позволяют просматривать сеть через прокси, который позволяет подключить HTTP Connect метод для эффективного прокалывания отверстия в брандмауэре. Метод Connect может быть ограничен определенными портами, поэтому вам может потребоваться комбинировать это с прослушиванием порта 443, как указано выше.

Чтобы сделать SSH пройти через прокси, вы можете использовать инструмент, такой как COPSLORT . В вашем ~ / .ssh / config добавьте строку ProxyCommand ProxyCommand , например, приведенная ниже, если ваш веб-прокси http: //web-proxy.work.eample. COM: 3128 :

Host home
HostName mmm.dyndns.example.net
ProxyCommand corkscrew web-proxy.work.example.com 3128 %h %p

Упаковка SSH в http (ы)

Некоторые брандмауэры не позволяют трафику SSH даже на порт 443. Чтобы справиться с ними, вам нужно замаскировать или туннель ssh в то, что Брандмауэр пропускает. Смотри http://dag.wiee.rs/howto/ssh-http-tunneling/ для учебника по этому вопросу с Proxytunnel .

43
27.01.2020, 19:34

вы можете попробовать другой способ, настроить веб-сервер, который может подключиться к вашему серверу по ssh,

https://github.com/huashengdun/webssh

2
27.01.2020, 19:34

Вы можете использовать sslh , если хотите запустить ОБА сервер HTTPS и сервер SSHd на одном и том же порту 443.

3
27.01.2020, 19:34

Теги

Похожие вопросы