Мне нужно прослушивать SSH на двух портах: 22 для доступа администратора хостинга и 26 для обычного доступа. Я хотел бы запретить вход в систему root на 26 и запретить все IP-адреса, кроме внутренних для порта 22. Последнее можно сделать с помощью правил iptables, но я не знаю о первом. Любые идеи?
В /etc/ssh/sshd_config
, сделайте следующее изменение. Ищите строку, в которой говорится Port 22
и добавьте аналогичную строку под ним.
Port 22
Port 26
Сохраните файл и перезапустите демон sshd.
Я делаю это в ситуациях, когда у меня включен ssh для внутренних пользователей на порту 22, но требуется внешнее подключение, скажем, на порту 2222. Это привязывает демон ssh к обоим номерам портов.
Вы можете использовать -f
возможность sshd чтобы указать альтернативный файл конфигурации. В файле конфигурации вам нужно будет использовать
Port 26
директива для изменения порта, который прослушивает sshd.
устанавливать
PermitRootLogin no
отключить root-логины
Затем вы можете сделать что-то вроде
/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26
Вы можете скопировать стандартный сценарий запуска sshd и изменить его, чтобы можно было запускать службу порта 26 при запуске.
Почему вы это делаете ?
Предполагая, что sshd будет работать с файлом конфигурации, специфичным для командной строки, вы можете создать вторую конфигурацию, которая работает на порту 26, и выполнить второй сценарий запуска, который ссылается на этот порт.