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

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


Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /data/site/nemcd.com/www/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

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?

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

Deprecated: Функция get_settings с версии 2.1.0 считается устаревшей! Используйте get_option(). in /data/site/nemcd.com/www/wp-includes/functions.php on line 6260
Какой процесс открыл порт? FreeBSD, Linux, Windows
Как установить locate на CentOS?
Настройка DNS Unbound в FreeBSD 10
Подсчитать количество файлов в каталоге Linux
Как очистить кеш ДНС?

Написать


Warning: Undefined variable $user_ID in /data/site/nemcd.com/www/wp-content/themes/desk-mess/comments.php on line 108

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