Configuración para múltiples puertos SSH

24

Necesito escuchar SSH en dos puertos: 22 para alojar acceso de administrador y 26 para acceso regular. Me gustaría no permitir el inicio de sesión de root en 26 y no permitir todas las direcciones IP internas excepto el puerto 22. Esto último se puede hacer con las reglas de iptables, pero no sé sobre el primero. ¿Algunas ideas?

CKoning
fuente
3
root nunca debería poder iniciar sesión a través de ssh; período; fin de la historia; el dinero se detiene aquí; Nunca. Si necesita acceso a la raíz, inicie sesión a través de su usuario normal, luego eleve con suo mejor aún sudo.
Chris S
66
Está totalmente permitido permitir inicios de sesión de raíz a través de ssh si los restringe a la autenticación de clave, o incluso la autenticación de contraseña si la sesión está restringida a las direcciones IP que usted controla. 'Nunca' es demasiado fuerte.
EightBitTony
3
Yo diría que hay situaciones en las que tiene sentido tener un inicio de sesión raíz (por ejemplo, corrupción del sistema de archivos en la partición / home, que impide el inicio de sesión como usuario estándar). Una cosa que puede ayudar es establecer el PermitRootLoginparámetro sshd_config en without-password. Esto solo permite que el inicio de sesión raíz a través de ssh ocurra con una clave ssh. La autenticación de contraseña no funcionará.
ewwhite
Este artículo puede ser útil: everythingsysadmin.com/2010/09/…
TomOnTime

Respuestas:

27

En /etc/ssh/sshd_config, haga el siguiente cambio. Busque la línea que dice Port 22y agregue una línea similar debajo de ella.

Port 22
Port 26

Guarde el archivo y reinicie el demonio sshd.

Hago esto en situaciones en las que tengo habilitado ssh para usuarios internos en el puerto 22, pero requiero conectividad externa, por ejemplo, en el puerto 2222. Esto vincula el demonio ssh a ambos números de puerto.

ewwhite
fuente
66
¿Y cómo restringe los inicios de sesión de raíz al puerto 22 ahora?
falso el
@faker He visto el uso de restricciones de firewall / red para proporcionar solo una lista blanca de acceso de ip al puerto 22 normal.
ThorSummoner
10

Puede usar la -fopción sshd para especificar un archivo de configuración alternativo. En el archivo de configuración necesitaría usar el

Port 26 

directiva para cambiar el puerto en el que escucha el sshd.

conjunto

PermitRootLogin no

para deshabilitar los inicios de sesión raíz

Entonces puedes hacer algo como

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

Es posible que desee copiar el script de inicio sshd estándar y modificarlos para poder iniciar el servicio del puerto 26 al inicio.

Por qué estás haciendo esto ?

Ha llegado el momento
fuente
1
En lugar de tener dos archivos de configuración completos, si quisieras que los servidores fueran esencialmente similares, ¿no sería más sencillo y apropiado agregarlos-o PermitRootLogin yes -p 26
JamesTheAwesomeDude
3

Suponiendo que sshd se ejecutará con un archivo de configuración específico de la línea de comandos, podría crear una segunda configuración que se ejecute en el puerto 26 y ejecutar un segundo script de inicio que se refiera a ese puerto.

uSlackr
fuente