Вам нужно меню трубы .
Канальное меню - это динамический пункт меню, который создается программой каждый раз, когда меню открывается.
Существует несколько программ, которые могут создавать конвейерное меню установленных приложений. Вот список избранных меню каналов от Openbox.org.
Поскольку вы используете Lubuntu, вас, скорее всего, заинтересует openbox-menu . Он использует кеш меню LXDE для создания меню приложения. Здесь есть пакет Ubuntu . Я не знаю, есть ли это в официальном репозитории, вы должны это проверить.
Чтобы использовать конвейерное меню, вам необходимо отредактировать файл меню Openbox по адресу ~ / .config / openbox / menu.xml
.
В файле меню вам нужно добавить новый пункт меню в корневом меню
, который выглядит следующим образом
Вам нужно будет заменить
который путь к openbox-menu
.
Вы можете получить путь с помощью
type openbox-menu
. Тогда у вас будет новый пункт меню с надписью Applications в вашем меню Openbox.
Если вы никогда не редактировали свой menu.xml
, посмотрите документацию по меню из Openbox.
Установите GatewayPorts yes
и AllowTcpForwarding yes
в sshd_config
на сервере b
. С помощью GatewayPorts clientspecified
явно укажите IP-адрес 0.0.0.0
или *
на сервере a
, чтобы создать обратный туннель. Так что sshd на сервере b
тоже принимает подключения от публики:
ssh -NTR *:2222:localhost:22 root@server-b.com
В противном случае sshd прослушивает только петлевой интерфейс, как в случае с GatewayPorts no
.
Теперь ssh
с другого компьютера на порт2222
:
ssh root@server-b.com -p 2222
Вы войдете на сервер a
после аутентификации.
Нет необходимости настраивать переадресацию iptables
. Кстати, избегайте пользователя root
для удаленного входа, если это возможно.
Если вы не хотите устанавливать опцию GatewayPorts
, вам нужно перенаправить трафик с какого-либо другого порта, скажем, 2223
на localhost:2222
.
Это можно сделать с помощью iptables
на сервереb
:
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 2223 -j DNAT --to-destination 127.0.0.1:2222
*REDIRECT
работает только для одного и того же интерфейса
Но маршрутизация на loopback
интерфейс не разрешена, если:
echo 1 | sudo tee /proc/sys/net/ipv4/conf/all/route_localnet
Теперь ssh
с другой машины на порт2223
:
ssh root@server-b.com -p 2223
Другой вариант — настроить минимальный локальный сервер переадресации с порта 2223
на 2222
с помощью таких инструментов, как ssh
, socat
, netcat
, *inetd
и т. д.
На сервере b
, сsocat
:
socat TCP-LISTEN:2223,fork TCP:127.0.0.1:2222
Или сnetcat
:
nc -l -p 2223 -c "nc 127.0.0.1 2222"
Или сssh
:
ssh -4gfNTL 2223:localhost:2222 localhost
Любое из вышеперечисленных действий можно комбинировать с обратным туннелем для выполнения двойной переадресации с сервера a
за один шаг:
ssh -TR *:2222:localhost:22 root@server-b.com "ssh -4gfNTL 2223:localhost:2222 localhost"