Skip to main content

Mise en place d'une connexion SSH via clé RSA

🧰 PrĂ©requis
  • Un serveur Apache Guacamole opĂ©rationnel
  • Une machine cible avec un serveur SSH actif
  • Une clĂ© RSA (privĂ©e + publique)
  • Un utilisateur SSH valide sur la machine cible
đŸ› ïž 1. GĂ©nĂ©ration d’une clĂ© RSA

Sur la machine qui initie la connexion (par ex. Guacamole) :

ssh-keygen -t rsa -b 4096 -m PEM -f ~/.ssh/guac_key

✅ Option -m PEM nĂ©cessaire : Guacamole n'accepte pas le format OpenSSH.

  • guac_key : clĂ© privĂ©e (Ă  coller dans Guacamole)
  • guac_key.pub : clĂ© publique (Ă  mettre sur la machine cible)
  • Ne mettez pas de passphrase pour Ă©viter des problĂšmes
đŸ“€ 2. DĂ©ploiement de la clĂ© publique

Sur le serveur (oĂč se trouve sshd) :

mkdir -p ~/.ssh
chmod 700 ~/.ssh

cat guac_key.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
⚙ 3. Ajustement du serveur SSH (si nĂ©cessaire)

Certaines distros récentes désactivent ssh-rsa par défaut.

Modifier /etc/ssh/sshd_config et ajouter :

PubkeyAcceptedAlgorithms +ssh-rsa
HostKeyAlgorithms +ssh-rsa

Puis redémarrer le service SSH :

sudo systemctl restart sshd
đŸ–„ïž 4. Configuration dans l’interface Guacamole
  1. Aller dans Connexions → Nouvelle connexion
  2. Choisir le protocole SSH
  3. Remplir les champs suivants :
    • Nom d’hĂŽte : IP ou domaine de la cible
    • Port : gĂ©nĂ©ralement 22
    • Nom d’utilisateur : ex. root
    • ClĂ© privĂ©e : coller le contenu du fichier guac_key
    • Phrase de passe : laisser vide (si clĂ© sans mot de passe)
✅ 5. Tester la connexion

Cliquez sur la connexion SSH : si tout est bien configurĂ©, le terminal s’ouvre depuis le navigateur.

🐞 DĂ©pannage : "Public key authentication failed"

Si l’erreur suivante apparaüt dans les logs guacd :

Public key authentication failed: Username/PublicKey combination invalid

Vérifications à faire :

  • ClĂ© privĂ©e au format PEM
  • ClĂ© publique bien dans ~/.ssh/authorized_keys
  • Fichier sshd_config contient :
PubkeyAcceptedAlgorithms +ssh-rsa
HostKeyAlgorithms +ssh-rsa
  • Permissions correctes :
    • ~/.ssh → 700
    • ~/.ssh/authorized_keys → 600
📌 Astuce

Pour suivre les logs en direct :

journalctl -u guacd -f

Source : 🔗 Documentation Guacamole 🔗 Manuel OpenSSH