fix: cicdl.yaml
This commit is contained in:
@@ -98,16 +98,27 @@ jobs:
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y --no-install-recommends openssh-client ca-certificates
|
apt-get install -y --no-install-recommends openssh-client
|
||||||
|
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
chmod 700 ~/.ssh
|
chmod 700 ~/.ssh
|
||||||
|
|
||||||
printf '%s' "${{ secrets.SSH_PRIVATE_KEY_B64 }}" | base64 -d > ~/.ssh/id_ed25519
|
# 1) Prende il secret base64 e rimuove spazi/newline/CR
|
||||||
|
printf '%s' "${{ secrets.SSH_PRIVATE_KEY_B64 }}" | tr -d '\r\n\t ' > /tmp/key.b64
|
||||||
|
|
||||||
|
# 2) (debug sicuro) stampa solo la lunghezza della base64
|
||||||
|
echo "b64_len=$(wc -c < /tmp/key.b64)"
|
||||||
|
|
||||||
|
# 3) Decodifica in chiave privata
|
||||||
|
base64 -d /tmp/key.b64 > ~/.ssh/id_ed25519
|
||||||
|
|
||||||
|
# 4) Rimuove eventuali CRLF dentro la chiave (se proviene da Windows)
|
||||||
|
tr -d '\r' < ~/.ssh/id_ed25519 > ~/.ssh/id_ed25519.clean
|
||||||
|
mv ~/.ssh/id_ed25519.clean ~/.ssh/id_ed25519
|
||||||
chmod 600 ~/.ssh/id_ed25519
|
chmod 600 ~/.ssh/id_ed25519
|
||||||
|
|
||||||
# Debug sicuro: stampa solo la prima riga (non rivela la chiave)
|
# 5) Validazione: se fallisce qui, la chiave NON è valida/corrotta
|
||||||
head -n 1 ~/.ssh/id_ed25519
|
ssh-keygen -y -f ~/.ssh/id_ed25519 >/dev/null
|
||||||
|
|
||||||
ssh-keyscan -H "${{ secrets.SERVER_HOST }}" >> ~/.ssh/known_hosts 2>/dev/null
|
ssh-keyscan -H "${{ secrets.SERVER_HOST }}" >> ~/.ssh/known_hosts 2>/dev/null
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user