
Основные правила сводятся к нескольким шагам, а именно, установить правила для firewall и настройке самого SSHD
Шаг 1: Прописать правила для разрешенных ip адресов
1 | firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="XXX.XXX.XXX.XXX" port port="22" protocol="tcp" accept' |
или
1 | firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="XXX.XXX.XXX.XXX" service name="ssh" accept' |
Вместо XXX.XXX.XXX.XXX вставить нужный ip адрес. И так вписать все ip с которых необходим доступ к данному серверу. Далее, после того как все адреса вписаны, необходимо создать правило, запрещающее вход для всех остальных
1 | firewall-cmd --permanent --remove-service= ssh |
Далее, после того как все прописано, необходимо перезагрузить правила командой
1 | firewall-cmd --reload |
Шаг 2: Вносим изменения в конфиг файл SSHD
Открываем файл /etc/ssh/sshd_config и в самом конце дописываем следующее
1 2 3 4 | PermitRootLogin no Match Host 127.0.0.1,192.168.0.0 /24 PermitRootLogin yes Match all |
И в пункте Match Host через запятую вписываем необходимые ip адреса или сегменты сети, в данном случае, эти ip вписаны для примера. Сохраняем файл и рестартуем службу
1 | systemctl restart sshd |