Назад | Перейти на главную страницу

Конфигурация для нескольких портов SSH

Мне нужно прослушивать 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, и выполнить второй сценарий запуска, который ссылается на этот порт.