Deploy: Use /tmp for SSH ControlPath to avoid spaces issue

This commit is contained in:
Nicolas Cantu 2025-12-28 20:43:40 +01:00
parent 30816f2d2d
commit 87a7c682d7

View File

@ -9,19 +9,20 @@ APP_DIR="/var/www/${DOMAIN}"
GIT_REPO="https://git.4nkweb.com/4nk/story-research-zapwall.git"
# Configuration SSH pour connexion persistante (évite MaxStartups)
# Créer le répertoire de contrôle si nécessaire
mkdir -p "$HOME/.ssh/control"
SSH_CONTROL_PATH="$HOME/.ssh/control/debian_92.243.27.35_22"
SSH_OPTS="-o ControlMaster=auto -o ControlPath=\"${SSH_CONTROL_PATH}\" -o ControlPersist=300"
# Utiliser un chemin temporaire sans espaces pour ControlPath
SSH_CONTROL_DIR="/tmp/ssh_control_$$"
mkdir -p "${SSH_CONTROL_DIR}"
SSH_CONTROL_PATH="${SSH_CONTROL_DIR}/debian_92.243.27.35_22"
# Fonction pour exécuter une commande SSH avec connexion persistante
ssh_exec() {
ssh -o ControlMaster=auto -o ControlPath="${SSH_CONTROL_PATH}" -o ControlPersist=300 ${SERVER} "$@"
}
# Nettoyer les connexions SSH persistantes à la fin
# Nettoyer les connexions SSH persistantes et le répertoire temporaire à la fin
cleanup_ssh() {
ssh -O exit -o ControlPath="${SSH_CONTROL_PATH}" ${SERVER} 2>/dev/null || true
rm -rf "${SSH_CONTROL_DIR}" 2>/dev/null || true
}
trap cleanup_ssh EXIT