По некоторым причинам у Вас нет setuid набора битов на Вашем su
и sudo
исполняемые файлы. Этот бит требуется так, чтобы su
и sudo
может поднять Вас для выполнения как пользователь root. Можно восстановить бит setuid при помощи chmod
как корень:
chmod u+s "$(command -v su)" "$(command -v sudo)"
Что возможно, зависит от того, что позволяет брандмауэру.
Некоторые брандмауэры простым выходным выходом и позволяют что-либо на порту 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 даже на порт 443. Чтобы справиться с ними, вам нужно замаскировать или туннель ssh в то, что Брандмауэр пропускает. Смотри http://dag.wiee.rs/howto/ssh-http-tunneling/ для учебника по этому вопросу с Proxytunnel .
вы можете попробовать другой способ, настроить веб-сервер, который может подключиться к вашему серверу по ssh,