oneshot systemd unit está habilitado e “wantedby”, mas não iniciado

1

Eu escrevi a seguinte unidade systemd, em /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

e eu habilitei com systemctl enable regen-ssh-keys .

Ele não é iniciado na inicialização ou quando o ssh é iniciado, embora service regen-ssh-keys status me diga que ele está carregado e ativado e "inativo (morto)". Além disso, não está listado por systemctl -a .

No entanto, quando eu inicio manualmente com service regen-ssh-keys start , ele começa como esperado.

Eu fiz algo errado ao escrever a unidade?

    
por Valentin Lorentz 18.03.2017 / 22:49

1 resposta

1

O erro foi simplesmente que eu não usei os nomes corretos para o serviço SSH. A substituição de sshd.service sshd.socket por ssh.service ssh.socket corrigiu o problema.

    
por 19.03.2017 / 10:17