Ich verwende einen Ubuntu 16.04-Container unter Proxmox 5.2-11. Nach dem Anwenden der letzten Patch-Runde 1 kann ich mich nicht an der Konsole oder über ssh anmelden.
I angebracht , um den Behälter root FS auf dem Hypervisor und hinzugefügt pts/0
zu /etc/security/access.conf
(wir laufen pam_access
) und das erlaubt Root - Anmeldung an die Konsole. Wir haben, root : lxc/tty0 lxc/tty1 lxc/tty2
in access.conf
denen ich dachte, es sei ausreichend, warum ich es pts/0
jetzt brauche, ist rätselhaft.
Ich bemerkte, dass ssh nicht lief, also versuchte ich es von Hand zu starten ( /usr/sbin/sshd -DDD -f /etc/ssh/sshd_config
) und erhielt diesen Fehler:
Missing privilege separation directory: /var/run/sshd
Ich habe das Verzeichnis von Hand erstellt, gestartet ssh
und konnte mich endlich anmelden, aber nach einem Neustart bleibt das Problem bestehen. Das Verzeichnis wird nicht erstellt. Nur nützliche journalctl
Teile und der einzig interessante Teil ist etwas über "Betrieb nicht erlaubt", aber keine weiteren Informationen.
Ich bin mit 16.04 nicht allzu vertraut und frage mich, wie ich mehr über das Problem herausfinden kann. Ich habe keine /var/log/syslog
oder /var/log/messages
nur kern.log
so etwas verloren.
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
Ausgabe hinzugefügt
Wirklich bizarr ... Ich habe nachgesehen /tmp
und diese Dateien existieren nicht
journalctl
?/etc/init.d/ssh
nicht ausgeführt undsystemctl
stattdessen verwendet. Und wannsshd
übersystemctl
das Verzeichnis gestartet wird, wird nicht erstellt. Das lässt ein paar offene Fragen offen, die ich morgen untersuchen werde, z. B. was sich genau geändert hat und wie genau dieses Verzeichnis erstellt werden soll, wennsystemctl
es verwendet wird.systemctl
es/etc/init/ssh.conf
für die Erstellung des Verzeichnisses verantwortlich. Ich habe auf einem vollständig aktuellen Ubuntu 16.04 getestet und das Verzeichnis wird beim Booten erstellt. Aber aus irgendeinem Grund wird es bei der Verwendung nicht erstelltservice ssh start
. Es gibt einige aktuelle Updates einigersystemd
verwandter Pakete, aber ich sehe keine Hinweise darauf, dass sich das Verhalten bei der Erstellung dieses Verzeichnisses geändert hat. Und wenn ich es teste, wird es beim Booten erstellt. Die Frage ist also, ob Sie/etc/init/ssh.conf
den richtigen Inhalt haben./etc/init/ssh.conf
dass es auch etwas gibt,/usr/lib/tmpfiles.d/sshd.conf
das von verwendet zu werden scheintsystemd-tmpfiles --create
. Erstelltsystemd-tmpfiles --create
das fehlende/var/run/sshd
Verzeichnis?systemd-tmpfiles --create
Ausgabe hinzugefügt . Die "Symlinks", über die sich systemd beschwert (/tmp/.X11-unix), existieren nicht einmal in,/tmp/
daher habe ich keine Ahnung, woher das kommt. Vielen Dank für all Ihre Hilfe, aber ich denke, ich werde weitermachen.Daher wird / run (und / var / run, die damit verbunden sind) bei jedem Neustart neu erstellt. Außer dass systemd-tmpfiles dies für einige Dateien, einschließlich (/ var) / run / sshd, nicht tut.
Anscheinend wird dies durch ein OpenVZ-Kernel-Upgrade behoben. Aber um es jetzt tatsächlich zu beheben, bearbeiten
/usr/lib/tmpfiles.d/sshd.conf
und entfernen Sie es/var
aus der Zeiled /var/run/sshd 0755 root root
, um es stattdessen zu lesen:d /run/sshd 0755 root root
Und das ist es..!
Und wenn openssh-server aktualisiert wird, hoffen wir, dass sie diesen Fehler behoben haben (oder ist es wirklich ein Fehler in systemd? Oder openvz ??) - andernfalls könnten Sie auf dasselbe Problem stoßen.
quelle
d /run/sshd 0755 root root
, da ihre Anweisungen besagen, nur den/var
Teil zu entfernen (obwohl der Code, den sie in der Antwort geben, beides hat/var
und/run
entfernt hat).Anscheinend wird dies behoben, wenn ein OpenVZ-Kernel 2.6.32-042stab134.7 oder neuer ausgeführt wird. Ich finde es seltsam, dass in den systemd-Startskripten irgendwie keine Korrektur möglich ist. Wahrscheinlich würde ein hässlicher Hack wie das automatische Erstellen von / run / sshd / nach dem Start und dem anschließenden Starten von sshd funktionieren.
Die Ausgabe von my
systemd-tmpfiles --create
:Das Änderungsprotokoll von OpenVZ 2.6.32-042stab134.7 lautet wie folgt:
quelle
Bei so vielen Problemen, die ich im Laufe der Jahre mit systemd hatte, muss ich zugeben, dass dieses Problem stattdessen auf die Ansible- Synchronisierungsanweisung zurückzuführen ist .
Aus irgendeinem Grund hat dieser Host nach der Bereitstellung unserer Ansbile-Skripte das Verzeichnis / (sowie / etc, / opt und andere) verlassen, das einem Administrator gehört, und nicht root. Nach dem Ausführen
chown
, um Dinge zu korrigieren,/var/run/sshd
wird jetzt beim Booten wieder erstellt.Ich schätze die gesamte Eingabe sehr, aber hier gibt es keinen Fehler, zumindest in dem Sinne, dass das Anwenden eines unangemessenen Eigentums auf Stammverzeichnisse zu undefiniertem Systemverhalten führte.
quelle