1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-02-01 05:47:01 +03:00
one/share/pkgs/services/systemd/opennebula-ssh-agent.service
Jan Orel f002812c9f
B #-: Cleanup ssh-agent socket before starting (#2413)
When (for whatever reason) opennebula-ssh-agent gets killed
it leaves existing socket and following start fails with

opennebula-ssh-agent[2333]: unix_listener: cannot bind to path /var/run/one/ssh-agent.sock: Address already in use
2022-12-09 16:22:11 +01:00

26 lines
932 B
Desktop File

[Unit]
Description=OpenNebula SSH agent
After=remote-fs.target
[Service]
Type=forking
Group=oneadmin
User=oneadmin
Environment=SSH_AUTH_SOCK=/var/run/one/ssh-agent.sock
# ssh-agent is executed via shell wrapper to workaround a SELinux issue
ExecStartPre=/bin/sh -c "echo SSH_AUTH_SOCK=$SSH_AUTH_SOCK > /var/run/one/ssh-agent.env; rm -f $SSH_AUTH_SOCK"
ExecStart=/bin/sh -c "exec /usr/bin/ssh-agent -a $SSH_AUTH_SOCK"
ExecStartPost=-/bin/sh -c "/usr/bin/ssh-add"
ExecStopPost=/usr/bin/rm -f /var/run/one/ssh-agent.env
ExecReload=/bin/sh -c "/usr/bin/ssh-add -D && /usr/bin/ssh-add"
Restart=on-failure
# NOTE: ssh-agent returns "2" as the exit code on SIGTERM or on termination via:
# SSH_AGENT_PID=??? ssh-agent -k
# without this following directive the "systemctl stop" would fail and cleanup
# (ExecStopPost) would not be triggered...
SuccessExitStatus=2
SyslogIdentifier=opennebula-ssh-agent
[Install]
WantedBy=default.target