He configurado .ssh / Authorizedkeys y puedo iniciar sesión con el nuevo "usuario" utilizando la clave pub / private ... También he agregado "user" a la lista de sudoers ... el problema que tengo ahora es cuándo Intento ejecutar un comando sudo, algo simple como:
$ sudo cd /root
me pedirá mi contraseña, que ingresé, pero no funciona (estoy usando la contraseña de clave privada que configuré)
Además, he deshabilitado la contraseña del usuario usando
$ passwd -l user
¿Qué me estoy perdiendo?
En algún lugar mis comentarios iniciales están siendo mal entendidos ...
Estoy tratando de fortalecer mi sistema ... el objetivo final es usar claves pub / privadas para hacer inicios de sesión en lugar de la autenticación de contraseña simple. He descubierto cómo configurar todo eso a través del archivo autorizado_claves.
Además, en última instancia, evitaré los inicios de sesión del servidor a través de la cuenta raíz. Pero antes de hacerlo, necesito que sudo funcione para un segundo usuario (el usuario con el que iniciaré sesión en el sistema todo el tiempo).
Para este segundo usuario, quiero evitar los inicios de sesión de contraseña regulares y forzar solo los inicios de sesión de pub / clave privada, si no bloqueo al usuario a través de "passwd -l user ... entonces si no uso una clave, aún puedo Entrar en el servidor con una contraseña normal.
Pero lo más importante es que necesito hacer que sudo funcione con una configuración de clave privada / pub con un usuario que tiene su contraseña deshabilitada.
Editar: OK, creo que lo tengo (la solución):
1) Ajusté / etc / ssh / sshd_config y configuré PasswordAuthentication no
Esto evitará los inicios de sesión de contraseña ssh (asegúrese de tener una configuración de clave pública / privada que funcione antes de hacer esto
2) Ajusté la lista de sudoers visudo
y agregué
root ALL=(ALL) ALL
dimas ALL=(ALL) NOPASSWD: ALL
3) root es la única cuenta de usuario que tendrá una contraseña, estoy probando con dos cuentas de usuario "dimas" y "sherry" que no tienen una contraseña establecida (las contraseñas están en blanco passwd -d user
)
Lo anterior esencialmente evita que todos inicien sesión en el sistema con contraseñas (se debe configurar una clave pública / privada).
Además, los usuarios en la lista de sudoers tienen habilidades administrativas. También pueden su
a diferentes cuentas. Así que, básicamente, "dimas" puede sudo su sherry
, sin embargo, "dimas NO puede hacerlo su sherry
. Del mismo modo, cualquier usuario que NO esté en la lista de sudoers NO puede hacer su user
o sudo su user
.
NOTA: Lo anterior funciona, pero se considera poca seguridad. Cualquier script que pueda acceder al código como los usuarios "dimas" o "sherry" podrá ejecutar sudo para obtener acceso root. Un error en ssh que permite a los usuarios remotos iniciar sesión a pesar de la configuración, una ejecución remota de código en algo como Firefox, o cualquier otra falla que permita que se ejecute código no deseado, ya que el usuario ahora podrá ejecutarlo como root. Sudo siempre debe requerir una contraseña o también puede iniciar sesión como root en lugar de algún otro usuario.