J'utilise un conteneur Ubuntu 16.04 sous Proxmox 5.2-11. Après avoir appliqué la dernière série de correctifs 1, je ne parviens pas à me connecter à la console ou via ssh.
J'ai monté le conteneur racine FS sur l'hyperviseur et ajouté pts/0
à /etc/security/access.conf
(nous exécutons pam_access
) et qui permettait la connexion root à la console. Nous avons root : lxc/tty0 lxc/tty1 lxc/tty2
dans access.conf
lequel je pensais que c'était suffisant, alors pourquoi j'avais besoin pts/0
maintenant est déroutant.
J'ai remarqué que ssh ne fonctionnait pas, j'ai donc essayé de le démarrer à la main ( /usr/sbin/sshd -DDD -f /etc/ssh/sshd_config
) et j'ai reçu cette erreur:
Missing privilege separation directory: /var/run/sshd
J'ai créé le répertoire à la main, j'ai démarré ssh
et j'ai finalement pu me connecter, mais après un redémarrage, le problème persiste. Le répertoire n'est pas en cours de création. Seuls les bits utiles journalctl
et la seule partie intéressante concernent "l'opération non autorisée" mais pas d'autres informations.
Je ne connais pas trop la version 16.04, je me demande donc comment en savoir plus sur le problème. Je n'ai pas /var/log/syslog
ou /var/log/messages
seulement kern.log
si peu perdu.
systemd-sysv 229-4ubuntu21.9
libpam-systemd 229-4ubuntu21.9
libsystemd0 229-4ubuntu21.9
systemd 229-4ubuntu21.9
udev 229-4ubuntu21.9
libudev1 229-4ubuntu21.9
iproute2 4.3.0-1ubuntu3.16.04.4
libsasl2-modules-db 2.1.26.dfsg1-14ubuntu0.1
libsasl2-2 2.1.26.dfsg1-14ubuntu0.1
ldap-utils 2.4.42dfsg-2ubuntu3.4
libldap-2.4-2 2.4.42dfsg-2ubuntu3.4
libsasl2-modules 2.1.26.dfsg1-14ubuntu0.1
libgs9-common 9.25dfsg1-0ubuntu0.16.04.3
ghostscript 9.25dfsg1-0ubuntu0.16.04.3
libgs9 9.25dfsg1-0ubuntu0.16.04.3
[2]
Nov 27 10:13:48 host16 systemd[1]: Starting OpenBSD Secure Shell server...
Nov 27 10:13:48 host16 sshd[474]: Missing privilege separation directory: /var/run/sshd
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Control process exited, code=exited status=255
Nov 27 10:13:48 host16 systemd[1]: Failed to start OpenBSD Secure Shell server.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Unit entered failed state.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Failed with result 'exit-code'.
Nov 27 10:13:48 host16 mysqld_safe[495]: Starting mysqld daemon with databases from /var/lib/mysql/mysql
Nov 27 10:13:48 host16 mysqld[500]: 181127 10:13:48 [Note] /usr/sbin/mysqld (mysqld 10.0.36-MariaDB-0ubuntu0.16.04.1) starting as process 499 ...
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
Nov 27 10:13:48 host16 systemd[1]: Stopped OpenBSD Secure Shell server.
Nov 27 10:13:48 host16 systemd[1]: Failed to reset devices.list on /system.slice/ssh.service: Operation not permitted
Nov 27 10:13:48 host16 systemd[1]: Starting OpenBSD Secure Shell server...
Nov 27 10:13:48 host16 sshd[502]: Missing privilege separation directory: /var/run/sshd
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Control process exited, code=exited status=255
Nov 27 10:13:48 host16 systemd[1]: Failed to start OpenBSD Secure Shell server.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Unit entered failed state.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Failed with result 'exit-code'.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
Nov 27 10:13:48 host16 systemd[1]: Stopped OpenBSD Secure Shell server.
Nov 27 10:13:48 host16 systemd[1]: Failed to reset devices.list on /system.slice/ssh.service: Operation not permitted
Nov 27 10:13:48 host16 systemd[1]: Starting OpenBSD Secure Shell server...
Nov 27 10:13:48 host16 sshd[503]: Missing privilege separation directory: /var/run/sshd
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Control process exited, code=exited status=255
Nov 27 10:13:48 host16 systemd[1]: Failed to start OpenBSD Secure Shell server.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Unit entered failed state.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Failed with result 'exit-code'.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
Nov 27 10:13:48 host16 systemd[1]: Stopped OpenBSD Secure Shell server.
Nov 27 10:13:48 host16 systemd[1]: Failed to reset devices.list on /system.slice/ssh.service: Operation not permitted
Nov 27 10:13:48 host16 systemd[1]: Starting OpenBSD Secure Shell server...
Nov 27 10:13:48 host16 sshd[504]: Missing privilege separation directory: /var/run/sshd
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Control process exited, code=exited status=255
Nov 27 10:13:48 host16 systemd[1]: Failed to start OpenBSD Secure Shell server.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Unit entered failed state.
Nov 27 10:13:48 host16 systemd[1]: ssh.service: Failed with result 'exit-code'.
Nov 27 10:13:49 host16 systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
Nov 27 10:13:49 host16 systemd[1]: Stopped OpenBSD Secure Shell server.
Nov 27 10:13:49 host16 systemd[1]: ssh.service: Start request repeated too quickly.
Nov 27 10:13:49 host16 systemd[1]: Failed to start OpenBSD Secure Shell server.
Nov 27 10:13:49 host16 systemd[1]: ssh.service: Unit entered failed state.
Nov 27 10:13:49 host16 systemd[1]: ssh.service: Failed with result 'start-limit-hit'.
Nov 27 10:13:49 host16 systemd[1]: Started /etc/rc.local Compatibility.
Nov 27 10:13:49 host16 systemd[1]: Failed to reset devices.list on /system.slice/plymouth-quit.service: Operation not permitted
Nov 27 10:13:49 host16 systemd[1]: Starting Terminate Plymouth Boot Screen...
Nov 27 10:13:49 host16 systemd[1]: Failed to reset devices.list on /system.slice/plymouth-quit-wait.service: Operation not permitted
Nov 27 10:13:49 host16 systemd[1]: Starting Hold until boot process finishes up...
Nov 27 10:13:49 host16 systemd[1]: Failed to reset devices.list on /system.slice/rc-local.service: Operation not permitted
Nov 27 10:13:49 host16 systemd[1]: Started Hold until boot process finishes up.
Nov 27 10:13:49 host16 systemd[1]: Started Container Getty on /dev/pts/1.
Nov 27 10:13:49 host16 systemd[1]: Started Container Getty on /dev/pts/0.
Nov 27 10:13:49 host16 systemd[1]: Failed to reset devices.list on /system.slice/console-getty.service: Operation not permitted
Nov 27 10:13:49 host16 systemd[1]: Started Console Getty.
Nov 27 10:13:49 host16 systemd[1]: Reached target Login Prompts.
Nov 27 10:13:49 host16 systemd[1]: Started Terminate Plymouth Boot Screen.
Nov 27 10:13:52 host16 nslcd[338]: accepting connections
Nov 27 10:13:52 host16 nslcd[275]: ...done.
Nov 27 10:13:52 host16 systemd[1]: Started LSB: LDAP connection daemon.
Nov 27 10:13:52 host16 systemd[1]: Failed to reset devices.list on /system.slice/cron.service: Operation not permitted
Nov 27 10:13:52 host16 systemd[1]: Started Regular background program processing daemon.
Nov 27 10:13:52 host16 systemd[1]: Failed to reset devices.list on /system.slice/atd.service: Operation not permitted
systemd-tmpfiles --create
Sortie ajoutée
Vraiment bizarre .... J'ai vérifié /tmp
et ces fichiers n'existent pas
journalctl
?/etc/init.d/ssh
, ne sera pas exécuté etsystemctl
sera utilisé à la place. Et quandsshd
est démarré viasystemctl
le répertoire n'est pas créé. Cela laisse quelques questions ouvertes que j'essaierai de creuser demain, telles que ce qui a exactement changé et comment exactement ce répertoire est censé être créé lorsqu'ilsystemctl
est utilisé.systemctl
c'est lui/etc/init/ssh.conf
qui est responsable de la création du répertoire. J'ai testé sur un Ubuntu 16.04 entièrement à jour et le répertoire est créé lors du démarrage. Mais pour une raison quelconque, il n'est pas créé lors de l'utilisationservice ssh start
. Il existe des mises à jour récentes de certainssystemd
packages associés, mais je ne vois aucune preuve de comportement concernant la création de ce répertoire ayant changé. Et lorsque je teste, il est créé lors du démarrage. La question est donc de savoir si votre/etc/init/ssh.conf
contenu est correct./etc/init/ssh.conf
ce/usr/lib/tmpfiles.d/sshd.conf
qui semble également être utilisé parsystemd-tmpfiles --create
. Créesystemd-tmpfiles --create
le/var/run/sshd
répertoire manquant ?systemd-tmpfiles --create
sortie. Le "symlinks" systemd se plaint de (/tmp/.X11-unix) n'existe même pas,/tmp/
donc je n'ai aucune idée d'où ça vient. Merci pour toute votre aide, mais je pense que je vais continuer.Ainsi, / run (et / var / run lié à celui-ci) est recréé à chaque redémarrage. Sauf que systemd-tmpfiles ne le fait pas pour certains fichiers, y compris (/ var) / run / sshd.
Apparemment, cela est résolu par une mise à niveau du noyau OpenVZ. Mais pour le corriger maintenant, vous éditez
/usr/lib/tmpfiles.d/sshd.conf
et supprimez/var
de la ligned /var/run/sshd 0755 root root
pour lire à la place:d /run/sshd 0755 root root
Et c'est tout..!
Et lorsque openssh-server sera mis à niveau, nous espérons qu'ils auront corrigé ce bogue (ou est-ce vraiment un bogue dans systemd? Ou openvz ??) - sinon vous pourriez rencontrer le même problème.
la source
d /run/sshd 0755 root root
, car leurs instructions disent de ne supprimer que la/var
partie (même si le code qu'ils donnent dans la réponse a les deux/var
et/run
supprimé).Apparemment, cela est résolu lors de l'exécution d'un noyau OpenVZ 2.6.32-042stab134.7 ou plus récent. Je trouve étrange qu'il n'y ait aucun correctif possible dans les scripts de démarrage de systemd d'une manière ou d'une autre. Un hack laid comme la création automatique de / run / sshd / après le démarrage puis le démarrage de sshd fonctionnerait probablement.
La sortie de mon
systemd-tmpfiles --create
:Le journal des modifications d'OpenVZ 2.6.32-042stab134.7 dit ceci:
la source
Pour autant de problèmes que j'ai eu avec systemd au fil des ans, je dois admettre que ce problème provient plutôt de la directive de synchronisation Ansible .
Pour une raison quelconque, après avoir provisionné cet hôte avec nos scripts ansbile, il a laissé le répertoire / (ainsi que / etc, / opt et autres) appartenant à un utilisateur administrateur, et non root. Après avoir exécuté
chown
pour corriger les choses,/var/run/sshd
est maintenant créé à nouveau au démarrage.J'apprécie vraiment toutes les entrées, mais il n'y a pas de bogue ici, au moins dans le sens où appliquer une propriété inappropriée aux répertoires racine a provoqué un comportement système non défini.
la source