Acabo de instalar Ubuntu 14.04 en mi servidor y estaba configurando todos mis archivos de configuración cuando me encontré con esto en mi sshd_config
archivo:
# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
Esto me preocupó mucho. Pensé que era posible que alguien pudiera iniciar sesión en mi servidor como root sin una contraseña.
Intenté conectarme a mi servidor como root a través de:
johns-mbp:~ john$ ssh [email protected]
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
[email protected]'s password:
Ingresé una contraseña en blanco y no me dejó entrar, lo cual fue un alivio. Entonces mi pregunta es: ¿qué significa sin contraseña y por qué es esto un valor predeterminado en Ubuntu 14.04?
without-password
, ¿ significa todos los métodos permitidos excepto la contraseña? Realmente suena como "permitido iniciar sesión sin la necesidad de una contraseña".PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
En realidad, esta configuración no hace prácticamente nada si está utilizando la autenticación PAM. En la parte inferior del
sshd_config
archivo de configuración encontrarás:La configuración predeterminada en Ubuntu es usar la autenticación PAM:
fuente
no
que noPermitRootLogin without-password
funcione realmente, de alguna manera. :(ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip
y crea~/.ssh/authorized_keys
tener en cuenta que si no puede iniciar sesión como root, no crearía este archivo en /root/.ssh/ pero funciona si copia el archivo allíTenga en cuenta que hay razones legítimas para iniciar sesión a través de la raíz (pero utilizando claves criptográficas y nunca una contraseña). Un ejemplo típico es la sincronización remota de dos servidores (para que uno de ellos se use como conmutación por error). Debido a que la estructura debe ser idéntica, a menudo se requiere una contraseña de root.
Aquí hay un ejemplo usando unison para la sincronización: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison
fuente
sudo
grupo le permita hacer esto también?En las versiones más nuevas de sshd "sin contraseña" se ha cambiado a "prohibir contraseña".
Ambas versiones funcionan, probablemente sea mejor usar "prohibir contraseña" si puedes: se explica mejor.
fuente