Dans Ubuntu 12.10, j’ai créé un LXC de type “Ubuntu” à l’aide de l’utilitaire lxc-create. Je crée ensuite des conteneurs éphémères à partir de ce conteneur à l’aide de l’utilitaire lxc-start-éphemeral, et je dois me connecter à ceux qui utilisent ssh sans mot de passe. Cependant, je dois garder leurs dossiers / home / ubuntu en parfait état, je ne peux donc pas y placer le fichier .ssh / allowed_keys habituel.
La section ‘Répertoire personnel crypté’ indique ici comment déplacer des clés allowed_keys hors du répertoire personnel. Après avoir suivi ces instructions depuis l’intérieur du conteneur de base, je peux ssh dans le conteneur de base sans donner de mot de passe.
Cependant, lorsque je lance un conteneur éphémère à partir du conteneur de base, je ne peux pas entrer sans mot de passe. (De manière confuse, ssh sans mot de passe pour le conteneur éphémère ne fonctionne pas lorsque allowed_keys se trouve à sa place habituelle dans /home/ubuntu/.ssh.) Comment puis-je résoudre ce problème?
Voici ce que ssh -v a dit, à partir du moment où il accepte la clé d’hôte:
debug1: ssh_ecdsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,password debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/ubuntu/.ssh/id_rsa debug1: Authentications that can continue: publickey,password debug1: Trying private key: /home/ubuntu/.ssh/id_dsa debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa debug1: Next authentication method: password
Voici les parties pertinentes de /var/log/auth.log sur le conteneur éphémère:
Apr 11 00:06:52 test-temp-SNeWevO sshd[306]: Authentication refused: bad ownership or modes for directory / Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: Accepted password for ubuntu from 10.0.3.1 port 59677 ssh2 Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_env(sshd:setcred): Unable to open env file: /etc/default/locale: No such file or directory Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)
J’ai fait ce test sur une nouvelle micro-instance AWS basée sur l’AMI standard Ubuntu 12.10 et je peux fournir des instructions détaillées sur la façon de le reproduire si cela vous aide.
C’est une vieille question mais ça revient quand même dans google …
Authentication refused: bad ownership or modes for directory /
Cela est dû au fait que le service sshd a des exigences ssortingctes en matière d’permissions pour le répertoire dans lequel authorised_keys se trouve.
Si vous ne pouvez pas modifier les permissions de /, ce qui semble probable dans ce cas, vous pouvez définir
SsortingctModes no
dans sshd_config.
Sous réserve que plusieurs utilisateurs n’accèdent pas au serveur, cette opération a peu d’impact sur la sécurité.