На моей машине я использую OpenVPN, который использует интерфейс tun0. Я хочу, чтобы sshd слушал только на этом интерфейсе.
Я знаю, я могу указать IP-адрес для прослушивания в
/etc/ssh/sshd_config
с
ListenAddress 0.0.0.0
директивы. Но мой IP-адрес изменится, поэтому я не могу выбрать здесь IP-адрес, который всегда действителен. Я знаю, что могу запустить демон только при включенном VPN - это не проблема.
Как я могу заставить sshd слушать только на определенном интерфейсе (tun0)?
tun0
?Ответы:
Вы не можете сделать это напрямую, так как sshd понимает только IP-адреса. Вы можете собрать что-то вместе, используя скрипт openvpn up
См. Также
--down
возможность очистки и соответствующие части документации, подробно описывающие безопасность сценариев и т. Д.Вы обнаружите, что IP-адрес устройства tun передается в сценарий как переменная окружения. Также sshd принимает параметры в командной строке вида
-o опция Может использоваться для задания параметров в формате, используемом в файле конфигурации. Это полезно для указания параметров, для которых нет отдельного флага командной строки. Для получения полной информации о параметрах и их значениях, смотрите sshd_config (5)
Так что вы могли бы использовать
Предположительно, у вас есть какой-то внеполосный метод общения с вашим VPS, чтобы, когда это не получится, вы могли связаться с сервером.
источник
-o ListenAddress=$(ip addr | awk '/inet/ && /tun0/{sub(/\/.*$/,"",$2); print $2}')