Мне нужно слушать SSH на двух портах: 22 для хостинга доступа администратора и 26 для обычного доступа. Я хотел бы запретить вход в систему root 26 и запретить все, кроме внутренних IP-адресов для порта 22. Последнее можно сделать с помощью правил iptables, но я не знаю о первом. Любые идеи?
24
su
повышаете его или, что еще лучшеsudo
.PermitRootLogin
параметра sshd_config значениеwithout-password
. Это позволяет только вход в систему root через ssh с ключом ssh. Проверка подлинности пароля не будет работать.Ответы:
В
/etc/ssh/sshd_config
, сделайте следующее изменение. Найдите строку с надписьюPort 22
и добавьте аналогичную строку под ней.Сохраните файл и перезапустите демон sshd.
Я делаю это в ситуациях, когда у меня включен ssh для внутренних пользователей на порту 22, но требуется внешнее подключение, скажем, на порту 2222. Это связывает демон ssh с обоими номерами портов.
источник
Вы можете использовать
-f
опцию sshd, чтобы указать альтернативный файл конфигурации. В файле конфигурации вам нужно будет использоватьдиректива для изменения порта, который слушает sshd.
поставил
отключить root-логины
Вы можете сделать что-то вроде
Вы можете скопировать стандартный сценарий запуска sshd и изменить его, чтобы при запуске можно было запустить службу порта 26.
Почему вы это делаете ?
источник
-o PermitRootLogin yes -p 26
Предполагая, что sshd будет работать с файлом конфигурации, специфичным для командной строки, вы можете создать вторую конфигурацию, которая работает на порту 26, и выполнить второй сценарий запуска, который ссылается на этот порт.
источник