39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# unlock-m70s.sh — attend que m70s réponde, puis ouvre la session dropbear
|
|
set -euo pipefail
|
|
|
|
HOST="nas.lucasroyer.fr"
|
|
PORT="34567"
|
|
MAX_WAIT=300
|
|
INTERVAL=5
|
|
|
|
echo "Attente que $HOST:$PORT réponde..."
|
|
elapsed=0
|
|
until (exec 3<>"/dev/tcp/$HOST/$PORT") 2>/dev/null; do
|
|
sleep "$INTERVAL"
|
|
elapsed=$((elapsed + INTERVAL))
|
|
if [ "$elapsed" -ge "$MAX_WAIT" ]; then
|
|
echo "Timeout après ${MAX_WAIT}s — port toujours injoignable."
|
|
exit 1
|
|
fi
|
|
echo " ... toujours en attente (${elapsed}s)"
|
|
done
|
|
|
|
echo "Port ouvert, connexion en cours..."
|
|
echo "(la vraie invite apparaîtra juste en dessous si tout va bien — ne tape rien avant)"
|
|
|
|
ssh -p "$PORT" \
|
|
-o HostKeyAlias=m70s-dropbear \
|
|
-o StrictHostKeyChecking=accept-new \
|
|
-o ConnectTimeout=10 \
|
|
-t root@"$HOST"
|
|
|
|
status=$?
|
|
|
|
if [ $status -eq 0 ]; then
|
|
echo "Session fermée normalement. Si le déverrouillage a réussi, m70s termine son boot."
|
|
else
|
|
echo "La connexion SSH a échoué (code $status) — la passphrase n'a probablement PAS été demandée."
|
|
echo "Ne la retape pas ailleurs. Vérifie l'état de m70s avant de relancer le script."
|
|
fi
|