sshd se liga a portas com números baixos somente se for reiniciado com bash -x /etc/init.d/sshd restart

sshd se liga a portas com números baixos somente se for reiniciado com bash -x /etc/init.d/sshd restart

Eu adicionei a linha "Port 110" em /etc/ssh/sshd_config logo abaixo da linha existente "Port 22" e esperei /etc/init.d/sshd restartver o sshd escutando em ambas as portas (22 e 110). No entanto, netstat -anp mostrou que o sshd estava escutando apenas a porta padrão (22).

Mais tarde eu tentei bash -x /etc/init.d/sshd restarte fiquei surpreso ao ver o sshd vinculado à porta 110 imediatamente!!! Emitir um segundo /etc/init.d/sshd restartnovamente ignorou minha alteração. A reinicialização também ignora minha alteração, por isso estou preso e totalmente confuso.

ATUALIZAResse comportamento estranho aparecesomente em portas baixas (<1024)

Isso está em um servidor CentOS 6.


Detalhes

Aqui está minha modificação em /etc/ssh/sshd_config:

grep ^Port /etc/ssh/sshd_config
Port 22
Port 110

Saída do netstat depoisbash -x /etc/init.d/sshd restart

netstat -anp | grep -i listen|grep sshd|grep -v :::
tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      7031/sshd           
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      7031/sshd     

Saída do netstat depois/etc/init.d/sshd restart

netstat -anp | grep -i listen|grep sshd|grep -v :::
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      8962/sshd  

Outra maneira de convencer o sshd a vincular-se à porta 110 é executá-lo no modo de depuração com /usr/sbin/sshd -de (observe as listening on port 22,110linhas, mas também testei conectando-se a ambas as portas):

/usr/sbin/sshd -de
debug1: sshd version OpenSSH_5.3p1
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private host key: #1 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-de'
Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug1: Bind to port 110 on 0.0.0.0.
Server listening on 0.0.0.0 port 110.
debug1: Bind to port 110 on ::.
Server listening on :: port 110.

Responder1

O sistema SELinux está restringindo a ligação de portas para portas abaixo de 1024

semanage port -l | grep ssh
ssh_port_t                     tcp      22

Você pode adicionar outra porta

semanage port -a -t ssh_port_t -p tcp 110

Isso resolveria seu problema imediato.

informação relacionada