diff --git a/scripts/deploy-nas.cjs b/scripts/deploy-nas.cjs index ef4edd7..751ba60 100644 --- a/scripts/deploy-nas.cjs +++ b/scripts/deploy-nas.cjs @@ -1,5 +1,6 @@ const { execSync } = require("child_process"); const fs = require("fs"); +const os = require("os"); const path = require("path"); // Load .env.local from project root if present (persists NAS_SSH_TARGET etc.) @@ -55,7 +56,11 @@ if (isWin) { process.exit(1); } - const sshCmd = cleanPort ? `ssh -p ${cleanPort}` : "ssh"; + // macOS Keychain은 서브프로세스(rsync)에서 SSH 키를 자동 로드하지 못함 → -i 명시 + const keyFile = process.env.NAS_SSH_KEY || path.join(os.homedir(), ".ssh", "id_rsa"); + const portOpt = cleanPort ? `-p ${cleanPort}` : ""; + const sshCmd = `ssh ${portOpt} -i "${keyFile}" -o StrictHostKeyChecking=accept-new -o BatchMode=yes`.trim(); + console.log(`Deploying via SSH → ${cleanTarget}:${cleanPath}`); console.log(`SSH command: ${sshCmd}`); execSync(