diff --git a/.gitea/workflows/preview-deploy.yml b/.gitea/workflows/preview-deploy.yml index e5ad2f0c0..22cd780ab 100755 --- a/.gitea/workflows/preview-deploy.yml +++ b/.gitea/workflows/preview-deploy.yml @@ -184,6 +184,16 @@ jobs: exit 1 fi + # SSH密钥完整性自检 + if ! ssh-keygen -y -f "$key_path" > /dev/null 2>&1; then + echo "ERROR: SSH密钥损坏(private key contents do not match public)" + echo "请检查 PREVIEW_SSH_KEY secret 中的私钥是否完整正确" + echo "私钥文件大小: $(wc -c < "$key_path") 字节" + head -2 "$key_path" + exit 1 + fi + echo "SSH key integrity check passed" + ssh-keyscan -p "$preview_port" -H "$preview_host" >> ~/.ssh/known_hosts 2>/dev/null echo "SSH keyscan done"