Me encanta la idea de acceder a los servidores a través de claves, para no tener que escribir mi contraseña cada vez que entro ssh
en un cuadro, incluso bloqueo la root
contraseña ( no ) de mi usuario ( passwd -l username
), por lo que es imposible iniciar sesión sin una clave.
Pero todo esto se rompe si se me solicita que ingrese la contraseña para los sudo
comandos. Así que estoy tentado a configurar sin contraseñasudo
para hacer que las cosas estén en línea con el inicio de sesión sin contraseña.
Sin embargo, sigo teniendo el presentimiento de que puede ser contraproducente para mí de alguna manera inesperada, solo parece de alguna manera inseguro. ¿Hay alguna advertencia con tal configuración? ¿Recomendaría / no recomendaría hacer esto para una cuenta de usuario en un servidor?
Aclaraciones
- Estoy hablando del uso de
sudo
una sesión de usuario interactiva aquí, no para servicios o scripts administrativos - Estoy hablando de usar un servidor en la nube (por lo que no tengo acceso físico local a una máquina y solo puedo iniciar sesión de forma remota)
- Sé que
sudo
tiene un tiempo de espera durante el cual no tengo que volver a ingresar mi contraseña. Pero mi concierto no se trata realmente de perder el tiempo extra para escribir físicamente una contraseña. Sin embargo, mi idea era no tener que lidiar con una contraseña, porque supongo que:- Si tengo que memorizarlo, es muy probable que sea demasiado corto para ser seguro o reutilizado
- Si genero una contraseña larga y única para mi cuenta remota, tendré que almacenarla en algún lugar (un programa local de administración de contraseñas o un servicio en la nube) y buscarla cada vez que quiera usarla
sudo
. Esperaba poder evitar eso.
Entonces, con esta pregunta, quería comprender mejor los riesgos, las advertencias y las compensaciones de una posible configuración sobre las otras.
Seguimiento 1
Todas las respuestas dicen que sin contraseña sudo
es inseguro ya que permite una escalada de privilegios "fácil" si mi cuenta de usuario personal se ve comprometida. Entiendo que. Pero, por otro lado, si uso una contraseña, incurrimos en todos los riesgos clásicos con las contraseñas (cadena demasiado corta o común, repetida en diferentes servicios, etc.). Pero supongo que si desactivo la autenticación de contraseña /etc/ssh/sshd_config
para que aún tenga que tener una clave para iniciar sesión, ¿puedo usar una contraseña más simple solo para sudo
que sea más fácil de escribir? ¿Es esa una estrategia válida?
Seguimiento 2
Si también tengo una clave para iniciar sesión como a root
través de ssh, si alguien tiene acceso a mi computadora y roba mis claves (¡aunque todavía están protegidas por la contraseña del llavero del sistema operativo!), También podría obtener un acceso directo a la root
cuenta , sin pasar por el sudo
camino. ¿Cuál debería ser la política para acceder a la root
cuenta entonces?
/etc/passwd
, como nologin, no configure ninguna contraseña y luego configure sin contraseña en visudo. Si hace esto, también debe asegurarse de que la configuración de visudo sea solo para lo que esa cuenta del sistema necesita absolutamente, es decir, bloquee los únicos comandos que debería ejecutar.