Модуль oneshot systemd включен и «разыскивается», но не запущен

Я написал следующий модуль systemd в /etc/systemd/system/regen-ssh-keys.service :

[Unit]
Description=OpenSSH Server Key Generation

# Do not run if keys already exist
ConditionPathExistsGlob=!/etc/ssh/ssh_host_*_key

# This service requires rng-tools to feed the random number generator,
# otherwise we may generate predictable keys without noticing it.
Requires=rng-tools.service
After=rng-tools.service

# sshd needs this service to be run and finished before starting
PartOf=sshd.service sshd.socket
Before=sshd.service sshd.socket

[Install]
# sshd needs this service to be run and finished before starting
WantedBy=sshd.service sshd.socket

[Service]
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/bin/ssh-keygen -A
Type=oneshot
RemainAfterExit=yes

и включил его с помощью systemctl enable regen-ssh-keys .

Он не запускается при загрузке или при запуске ssh, хотя service regen-ssh-keys status сообщает мне, что он загружен и включен, и «Бездействующий (мертвый)». Кроме того, он не указан в systemctl -a .

Однако, когда я запускаю его вручную с помощью service regen-ssh-keys start , он запускается, как ожидалось.

Я сделал что-то не так при записи модуля?

2
задан 19 March 2017 в 01:02
1 ответ

Ошибка в том, что я не использовал правильные имена для службы SSH. Замена sshd.service sshd.socket на ssh.service ssh.socket исправила проблему.

.
1
ответ дан 3 December 2019 в 12:36

Теги

Похожие вопросы