Je viens d'installer Ubuntu 14.04 sur mon serveur et je configurais tous mes fichiers de configuration lorsque je suis tombé sur mon sshd_config
fichier:
# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
Cela m'a rendu très inquiet. Je pensais qu'il était possible que quelqu'un se connecte à mon serveur en tant que root sans mot de passe.
J'ai essayé de me connecter à mon serveur en tant que root via:
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:
J'ai entré un mot de passe vide qui ne m'a pas laissé entrer, ce qui était un soulagement. Ma question est donc la suivante: que signifie sans mot de passe et pourquoi s’agit-il d’un défaut dans Ubuntu 14.04?
without-password
, toutes les méthodes autorisées sauf mot de passe? Cela sonne vraiment comme "autorisé à se connecter sans avoir besoin d'un mot de passe".PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
En réalité, ce paramètre ne fait pratiquement rien si vous utilisez l'authentification PAM. Au bas du
sshd_config
fichier de configuration, vous trouverez:Le paramètre par défaut sur Ubuntu est d'utiliser l'authentification PAM:
la source
no
ne fonctionnera pasPermitRootLogin without-password
, en quelque sorte! :(ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip
et cela crée,~/.ssh/authorized_keys
n'oubliez pas que si vous ne pouvez pas vous connecter en tant que root, vous ne créerez pas ce fichier dans /root/.ssh/ mais cela fonctionnera si vous copiez le fichier làNotez qu'il existe des raisons légitimes pour vous connecter via root (mais en utilisant des clés cryptographiques et jamais un mot de passe). Un exemple typique est la synchronisation à distance de deux serveurs (pour que l'un d'entre eux soit utilisé en tant que basculement). Comme la structure doit être identique, un mot de passe root est souvent requis.
Voici un exemple d'utilisation de l'unison pour la synchronisation: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison
la source
sudo
groupe ne vous permettront-elles pas de le faire également?Dans les versions plus récentes de sshd, "without-password" a été remplacé par "prohibit-password".
Les deux versions fonctionnent, il vaut probablement mieux utiliser "prohibit-password" si vous le pouvez: cela s’explique mieux.
la source