No se puede conectar al servidor como root a través de ssh

No se puede conectar al servidor como root a través de ssh

Quiero usar el explorador remoto en VS Code en Windows para acceder a un servidor desde Ubuntu. Ingresar una contraseña todo el tiempo es molesto, así que intenté generar una clave ssh usando ssh-keygen. La clave funciona bien para un usuario normal, pero no puedo iniciar sesión como root.

El error de cmd (ssh root@<server_ip>):

root@<server_ip>: Permission denied (publickey,password).

El error en /var/log/auth.log:

sshd[1012327]: Connection reset by authenticating user root <client_ip> port 59021 [preauth]

Todas las soluciones que he visto mencionan sshd_config, pero el inicio de sesión de root está habilitado. sshd_config:

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

He agregado la clave pública al /home/user/.ssh/authorized_keysarchivo. Me parece que esta clave es solo para el usuario, pero por las guías parece que puedo usarla para root también.

Entonces, ¿por qué no puedo conectarme como root?

Respuesta1

Me parece que esta clave es solo para el usuario, pero por las guías parece que puedo usarla para root también.

Los guías te han equivocado.

Cada usuario tiene su propio directorio personal y, por tanto, el suyo propio authorized_keys. El directorio de inicio de Root suele ser /root/. Por lo tanto, el archivo relevante para iniciar sesión como root es /root/.ssh/authorized_keys. No tiene nada que ver con /home/user/.ssh/authorized_keys.

Piénsalo. /home/user/.ssh/authorized_keyspertenece al usuario userque es un usuario habitual y puedeo no puedetener acceso sudo. El usuario puede registrar cualquier clave allí. Si root usara el mismo archivo, entonces el usuario podría iniciar sesión como root simplemente autorizando alguna clave.

información relacionada