Недавно я наткнулся на этот пост:https://hackertarget.com/ssh-examples-tunnels/Он многое объясняет о ssh-соединениях и переадресации портов, посмотрите, вы многое узнаете:)
Вот то, что имеет отношение к вам:
Туннель SSH (порт вперед)
В своей простейшей форме туннель SSH просто открывает порт в вашей локальной системе, который соединяется с другим портом на другом конце туннеля.
localhost:~$ ssh -L 9999:127.0.0.1:80 user@remoteserver
Давайте разберем параметр -L. Думайте о -L как о местной слушающей стороне. Итак, в нашем примере выше порт 9999 прослушивается на локальном хосте, а порт перенаправляется через порт 80 на удаленном сервере, обратите внимание, что 127.0.0.1 относится к локальному хосту на удаленном сервере!
Давайте поднимемся на ступеньку выше. В следующем примере прослушиваемый порт может быть подключен к другим хостам в локальной сети.
localhost:~$ ssh -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver
В этих примерах порт, к которому мы подключаемся, является прослушивающим веб-сервером. Это также может быть прокси-сервер или любая другая служба TCP.
Вышеупомянутое действие откроет для вас активную оболочку SSH, и, поскольку мы хотим перенаправить только порт, это нежелательно. Вы можете добавить аргумент -N к команде, чтобы пропустить выполнение любых удаленных команд (открытая оболочка тоже является командой ). Страница ssh man
также объясняет это :
.
-N Do not execute a remote command. This is useful for just forwarding ports.
Итак,следующий скрипт откроет ваш порт, пока вы не нажмете Ctrl -c/kill:
#!/usr/bin/env sh
echo "Forwarding ports"
ssh -N -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver
Вы также можете открыть порт на несколько секунд, выполнив команду сна и удалив -аргумент N:
ssh -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver "sleep 10"
Эти туннели SSH имеют свои недостатки. Если вы хотите, чтобы перенаправляемый порт оставался открытым в течение длительного времени, вы можете проверить следующую ветку, в частности немного оautossh
:https://superuser.com/questions/37738/how-to-reliably-keep-an-ssh-tunnel-open
Отсутствуют пакеты шрифтов.
Вы можете добавить пару шрифтов, таких как dejavu и liberation, с помощью:apk add ttf-dejavu ttf-liberation
. :Франческо