Практик очень много, тут лучше идти в сторону лучших практик от devops, это большая тема, но полезная.
Но если упрощенно и по старинке и быстро.
1. Доступ на сервер только по ssh ключам, никаких паролей.
2. Отдельный момент по sudo
2.1 Для пользователя админа в целом оставляем запрос пароля на sudo
2.2 Для сервисных аккаунтов(условные www-data и компашка,которые для служб, сервисов, автоматика того же ларавел) делаем sudo без пароля для избранных команд/программ. Таким образом автоматизация будет работать сама, независимо и стабильно.
3. Бонус пункт. Подумать о переходе на докер контейнеры на сервере, многие штуки упрощаются. Можно начать с интеграции
того же laradock как самый быстрый и лёгкий старт.
PS почему rsync? Почему хотя бы не скрипты которые фетчат гит репо. rsync для некоторых сценариев бекапа еще понятно, но для деплоя кода ну не знаю. Более прозрачная схема через гит и билд на сервере. В крайнем случае в тот же гит можно и сбилженные релизы добавлять и их разворачивать на сервере.