SSH на другом порту CentOS 7 или error: bind to port on 0.0.0.0

Раздел: Linux
Написано: 3.01.2015
Автор: Antonio

CentOS продолжает удивлять..

CentOS logo

Даже такое простое действие, как изменить стандартный 22 порт SSH на другой вызывает ошибку и недоумение.

Меняем порт в конфиге sshd

/etc/ssh/sshd_config

например на

Port 555


Перезапускаем sshd

systemctl restart sshd.service

Смотрим в

tail -f /var/log/messages

Видим типа такого

Jan  2 03:58:31 client systemd: sshd.service: main process exited, code=exited, status=255/n/a
Jan  2 03:58:31 client systemd: Unit sshd.service entered failed state.
Jan  2 03:59:13 client systemd: sshd.service holdoff time over, scheduling restart.
Jan  2 03:59:13 client systemd: Stopping OpenSSH server daemon...

Не совсем понятно в чем проблема, смотрим так

journalctl -xn

Уже понятнее

error: bind to port on 0.0.0.0 failed sshd cannon bind any address

Такое чувство, что порт уже занят, проверяем nmap порт закрыт, открытие порта в фаерволле ничего не дает, указание конкретного IP в файле конфигурации тоже не помогает.

Внимательно вчитываемся в файл sshd_config, оказывает нужен semanage

# 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
#

Устанавливаем пакет policycoreutils-python, в который входит semanage

yum install policycoreutils-python

(у меня подключены репозитарии EPEL, поэтому если у вас вдруг не получится, то подключите их)

пакет с зависимостями установлен, можно выполнять

semanage port -a -t ssh_port_t -p tcp 555

Рестартуем демона sshd

systemctl restart sshd.service

пробуем сканером порт на доступность

nmap -p 555 localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2015-01-03 15:27 EET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000071s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT    STATE  SERVICE
555/tcp open dsf
 
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

Получилось, SSH демон поднялся и готов принимать подключения, остается открыть нужный порт для доступа из вне.

Для проверки сбрасываем правила iptables

iptables -F

и пробуем подключиться по SSH к нашему серверу на нестандартном порту
Работает.

Фразы: CentOS 7 sshd не запускается на другом порту, ошибка при старте sshd, CentOS где взять semanage?

Поделиться с друзьями или в соц.сетях (спасибо)
Ещё похожие заметки:

Написать

Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com