Обычно при настройке SSH сервера советуют менять стандартный порт 22 на любой другой. Однако, если у Вас не отключен SELinux, то могут возникнуть проблемы.
На самом деле ничего сложного нет, ведь даже комментарий в конфигурационном файле
/etc/ssh/sshd_config,
там где мы меняем порт, говорит нам английским языком:
1 2 3 4 5 |
# If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # Port 2222 |
Но вот запустив команду,
semanage port -a -t ssh_port_t -p tcp 2222
получим:
1 |
bash: semanage: command not found |
И вот тут у новичков могут возникнуть трудности. Ошибка происходит из-за того, что в стандартной установке пакет с утилитой semanage не установлен. И пакет этот называется не так же как утилита.
Найдем и установим этот пакет (RHEL семейства).
yum provides */semanage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos-mirror.rbc.ru * epel: fedora-mirror01.rbc.ru * extras: centos-mirror.rbc.ru * updates: centos-mirror.rbc.ru base/7/x86_64/filelists_db | 6.6 MB 00:00:01 epel/x86_64/filelists_db | 7.5 MB 00:00:01 extras/7/x86_64/filelists_db | 416 kB 00:00:00 updates/7/x86_64/filelists_db | 1.4 MB 00:00:00 policycoreutils-python-2.5-8.el7.x86_64 : SELinux policy core python utilities Repo : base Matched from: Filename : /usr/sbin/semanage policycoreutils-python-2.5-9.el7.x86_64 : SELinux policy core python utilities Repo : updates Matched from: Filename : /usr/sbin/semanage |
yum install policycoreutils-python
Теперь запускаем команду для изменения порта.
semanage port -a -t ssh_port_t -p tcp 2222
Не забудьте перезапустить SSH сервис.