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