Вот думала что писала уже про это, а нет, заметки не оказалось. Между тем, для непосвященных няшек это может стать небольшой проблемой, так как стандартные мануалы не подразумевают наличия SELinux и других ништяков.
Итак, для того чтобы изменить стандартный порт доступа надо сделать 3 вещи:
1. открываем /etc/ssh/sshd_config и раскомментируем строку
Port 22
меняем 22 на выбранный вами порт. Если вы хотите чтобы ssh слушал только на IPv4, то раскомментируйте строку
ListenAddress 0.0.0.0
остальные настройки по вкусу (:
2. добавляем правило для iptables (вы можете изменить стандартное правило для 22-го порта)
iptables-save > /path/to/rules.list
добавляем строку
-A INPUT -p tcp -m state —state NEW -m tcp —dport 1234 -j ACCEPT
и сохранив файлик обновляем правила
iptables-restore < /path/to/rules.list
НО, данный вариант будет работать только до первой перезагрузки! Если вы хотите добавить постоянное правило, изменения следует вносить в /etc/sysconfig/iptables
И вот казалось бы всё, но в этом случае перезапустив sshd вы рискуете потерять доступ к серверу, так как включенный по-умолчанию SELinux будет считать что негоже использовать иной порт. Так что переходим к пункту…
3. для того чтобы selinux не возникал, необходимо добавить ваш порт как порт для ssh
semanage port -a -t ssh_port_t -p tcp 1234
проверяем
semanage -l | grep ssh
Так же, вы можете столкнуться с проблемой когда центось вам скажет что знать не знает такой команды, тогда выполняем
yum whatprovides /usr/sbin/semanage
и получив ответ, устанавливаем нужный пакет. в моём случае это
yum install policycoreutils-python
Вот теперь можно смело (перепроверив не забыли ли вы чего!) перезапускать sshd и ломиться на новый порт
service sshd restart