run-qemu.sh : injecter pubkey(s) hôte dans /root/.ssh/authorized_keys
Permet ssh -p 8022 root@localhost depuis l'hôte sans password une fois openssh installé et sshd lancé dans Redox. Scanne ~/.ssh/ de l'hôte pour id_ed25519.pub / id_rsa.pub / id_ecdsa.pub, append toutes celles trouvées dans /root/.ssh/authorized_keys avec permissions correctes (700 et 600). Bénéfice : le copier-coller depuis CachyOS vers Redox devient trivial via la session SSH, plus besoin de retaper les commandes dans la fenêtre QEMU graphique sans copier-coller. Warning explicite si aucune pubkey hôte n'est trouvée (ssh par password sera toujours possible, juste moins pratique). Leyoda 2026 – GPLv3
This commit is contained in:
parent
0230d80e6c
commit
3fe50208a1
1 changed files with 23 additions and 0 deletions
23
run-qemu.sh
23
run-qemu.sh
|
|
@ -149,6 +149,29 @@ for script in "$ROOT/tools/redox-scripts"/*; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# SSH : injecter la pubkey hôte dans /root/.ssh/authorized_keys du guest.
|
||||||
|
# Permet ssh root@localhost -p 8022 sans password. Cherche les pubkeys
|
||||||
|
# habituelles dans ~/.ssh/. Si plusieurs, toutes sont copiées.
|
||||||
|
SSH_DIR_HOST="$HOME/.ssh"
|
||||||
|
PUBKEYS_FOUND=()
|
||||||
|
for k in id_ed25519.pub id_rsa.pub id_ecdsa.pub; do
|
||||||
|
if [[ -f "$SSH_DIR_HOST/$k" ]]; then
|
||||||
|
PUBKEYS_FOUND+=("$SSH_DIR_HOST/$k")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ ${#PUBKEYS_FOUND[@]} -gt 0 ]]; then
|
||||||
|
mkdir -p "$MOUNT/root/.ssh"
|
||||||
|
chmod 700 "$MOUNT/root/.ssh"
|
||||||
|
: > "$MOUNT/root/.ssh/authorized_keys"
|
||||||
|
for k in "${PUBKEYS_FOUND[@]}"; do
|
||||||
|
echo "==> injecter pubkey hôte $k dans /root/.ssh/authorized_keys"
|
||||||
|
cat "$k" >> "$MOUNT/root/.ssh/authorized_keys"
|
||||||
|
done
|
||||||
|
chmod 600 "$MOUNT/root/.ssh/authorized_keys"
|
||||||
|
else
|
||||||
|
echo "WARN : aucune pubkey hôte trouvée dans $SSH_DIR_HOST/. SSH par password seulement." >&2
|
||||||
|
fi
|
||||||
|
|
||||||
# --- 4. umount avant make qemu (sinon QEMU et FUSE se battent sur le même fichier) ---
|
# --- 4. umount avant make qemu (sinon QEMU et FUSE se battent sur le même fichier) ---
|
||||||
echo "==> démonter $MOUNT"
|
echo "==> démonter $MOUNT"
|
||||||
sync
|
sync
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue