
Agregué la línea "Puerto 110" en /etc/ssh/sshd_config justo debajo de la línea existente "Puerto 22" y luego esperaba /etc/init.d/sshd restart
ver sshd escuchando en ambos puertos (22 y 110). Sin embargo, netstat -anp mostró que sshd solo escuchaba en el puerto predeterminado (22).
¡Más tarde lo intenté bash -x /etc/init.d/sshd restart
y me sorprendió ver que sshd se vinculaba al puerto 110 inmediatamente! Al emitir un segundo /etc/init.d/sshd restart
nuevamente ignoró mi cambio. Al reiniciar también se ignora mi cambio, por lo que estoy atascado y completamente desconcertado.
ACTUALIZARaparece este extraño comportamientosólo en puertos bajos (<1024)
Esto está en un servidor CentOS 6.
Detalles
Aquí está mi modificación a /etc/ssh/sshd_config:
grep ^Port /etc/ssh/sshd_config
Port 22
Port 110
Salida de netstat despuésbash -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
Salida de netstat después/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
Otra forma de convencer a sshd de que se vincule al puerto 110 es ejecutándolo en modo de depuración con /usr/sbin/sshd -de
(tenga en cuenta las listening on port 22,110
líneas, pero también lo probé conectándome a ambos puertos):
/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.
Respuesta1
El sistema SELinux está restringiendo el enlace de puertos para puertos por debajo de 1024
semanage port -l | grep ssh
ssh_port_t tcp 22
Puedes agregar otro puerto
semanage port -a -t ssh_port_t -p tcp 110
Eso solucionaría su problema inmediato.