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 lale machineserveur cible(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
- Aller dans Connexions â Nouvelle connexion
- Choisir le protocole SSH
- 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