**常见技术问题:**
切换远程 URL 时,执行 `git remote set-url origin git@github.com:user/repo.git` 后仍提示“Permission denied (publickey)”,或 `git push` 失败但无明确错误。这通常因 SSH 密钥未生成、未添加到 ssh-agent、未正确关联至 GitHub/GitLab 账户,或仓库 URL 格式有误(如漏掉 `.git` 后缀、误用 HTTPS 风格路径)所致。此外,若本地已存在凭据缓存(如 macOS Keychain 或 Windows Git Credential Manager),系统可能仍尝试用 HTTPS 凭据发起连接,导致静默失败。安全风险在于:盲目覆盖远程地址而未验证 SSH 连通性,可能导致后续推送丢失、协作中断;或为绕过错误而临时禁用 SSH 检查(如修改 `~/.ssh/config` 中 StrictHostKeyChecking),引入中间人攻击隐患。如何在不中断工作流的前提下,分步验证密钥有效性、清理旧凭据、原子化切换并保留操作可追溯性?