¿Cómo deshabilito el inicio de sesión SSH remoto como root desde un servidor?

54

Por motivos de seguridad, mi empresa quiere que no permita que nadie pueda iniciar sesión en nuestro servidor Ubuntu como root de forma remota a través de SSH. Todavía queremos que exista la cuenta raíz, simplemente no queremos que se pueda iniciar sesión de forma remota. ¿Cómo lograría esto?

Muchas gracias de antemano por su tiempo.

Rob S.
fuente

Respuestas:

85

¿Supongo que te refieres a iniciar sesión en SSH? Ponga la siguiente línea a /etc/ssh/sshd_config:

PermitRootLogin no

Si desea negar que ciertos usuarios inicien sesión, colóquelo en el archivo de configuración:

DenyUsers root

Esto toma el enfoque de la lista negra. La lista blanca es generalmente preferible. Si su empresa necesita para permitir que el roby adminlos usuarios inician sesión en el servidor, utilice la siguiente directiva de configuración:

AllowUsers rob admin

Después de realizar cambios en el archivo de configuración, reinicie el servicio ssh con el comando:

sudo service ssh restart

Vea también la página del manual .

Lekensteyn
fuente
14
y sudo service ssh restartentre en vigor
Maxim Yefremov
No veo el archivo sshd_config, veo este / etc / ssh / ssh_config.
Chinmaya B
@ChinmayaB Probablemente no haya instalado el servidor OpenSSH. Pruebasudo apt-get install openssh-server
Lekensteyn
14

Edite el archivo /etc/ssh/sshd_config, busque

PermitRootLogin

y ponerlo a no.

James Little
fuente
Si hace esto sin agregar ningún usuario, AllowUsers <username>¿no permitiría que nadie ingrese a SSH?
JGlass
1
@JGlass Puede combinar esta respuesta con la anterior que tiene opciones adicionales: esta línea específica solo impide que la raíz inicie sesión a través de SSH. Si hay otros usuarios en el sistema, si todo lo demás es igual, aún podrán iniciar sesión a través de SSH a menos que usted también inicie DenyUserssesión.
armadadrive
@armadadrive - ahh, ¡gracias por la corrección y la explicación!
JGlass
5

La configuración predeterminada es que la cuenta raíz esté bloqueada, por lo que no puede iniciar sesión como root de forma remota. No tiene que hacer nada más, a menos que también quiera asegurarse de que no puede iniciar sesión como root de forma remota utilizando una clave RSA. Por supuesto, si no desea hacer eso, simplemente no configure una clave raíz.

psusi
fuente
1
Ese no era el valor predeterminado para mi máquina Linode Ubuntu 14.04. PermitRootLoginse estableció en yesy no había línea AllowUserso DenyUsersconfig. A menos que me falte algo, no creo que sea seguro suponer que está bloqueado de forma predeterminada
Andrew el
@andrewtweber, el inicio de sesión raíz no está prohibido a través de la configuración ssh, sino en todo el sistema al establecer la contraseña raíz en un valor no válido que no puede ingresar. Por lo tanto, como dije, aún puede ingresar como root utilizando una clave RSA, pero no con una contraseña.
psusi
ok gracias, ¿puedes agregar esa explicación a tu respuesta y luego podré eliminar mi
voto negativo
@andrewtweber, ya está en mi respuesta ..
psusi
su explicación de cómo está bloqueada la cuenta raíz no está en su respuesta. De todas formas no puedo eliminar un downvote menos que se edita su respuesta, así que adelante y ser obstinado en ello si quieres
andrewtweber