есть сервис который стартует мой вебсервер
[Unit]
Description=Gunicorn instance to serve wserv
After=network.target
[Service]
User=wserv
Group=wserv
WorkingDirectory=/home/wserv/
Environment="PATH=/home/wserv/venv/bin"
ExecStartPre=/usr/bin/git --git-dir=/home/wserv/.git pull origin master
ExecStart=/home/wserv/venv/bin/gunicorn --worker-class eventlet -w 1 app.wsgi:app -b 127.0.0.1:8002
[Install]
WantedBy=multi-user.target
Без ExecStartPre - запускается нормально, но по моей задумке при запуске нужно проверить имеются ли изменения в репозитории, если есть - загрузить и тогда запустить сервер.
Однако в таком случае мне выдает ошибку:
Dec 20 17:38:12 elvis systemd[1]: Starting Gunicorn instance to serve wserv...
Dec 20 17:38:12 elvis git[12030]: error: cannot run ssh: No such file or directory
Dec 20 17:38:12 elvis git[12030]: fatal: unable to fork
Dec 20 17:38:12 elvis systemd[1]: wserv.service: Control process exited, code=exited status=1
Dec 20 17:38:12 elvis systemd[1]: Failed to start Gunicorn instance to serve wserv.
Dec 20 17:38:12 elvis systemd[1]: wserv.service: Unit entered failed state.
Dec 20 17:38:12 elvis systemd[1]: wserv.service: Failed with result 'exit-code'.
Ругается на ssh, но сама команда ssh работает, как под пользователем wserv, так и под рутом. Ровно так же работает и команда
/usr/bin/git --git-dir=/home/wserv/.git pull origin master
в env добавлена строчка
GIT_SSH_COMMAND=ssh -i /home/wserv/.ssh/id_ed25519
сам ключ там и лежит.
Почему не может найти ssh? куда еще его прописать?