SSH derrière une clé FIDO2 — et une console avec assistant IA
Le port SSH reste fermé à tous tant que vous n'avez pas touché votre clé. Une fois le port ouvert, vous travaillez dans une console qui saisit elle-même les mots de passe enregistrés, garde vos commandes fréquentes à portée de clic et suggère les suivantes : l'assistant IA transforme une tâche en commandes et, avec votre autorisation, lit ce qu'affiche le terminal.
Depuis la version 1.24. La console fait partie du client, version gratuite comprise.
Le port SSH reste fermé jusqu'au toucher de la clé
La passerelle sous Linux ferme le port 22 (et tout autre port TCP) exactement comme elle ferme RDP. Confirmez avec une clé FIDO2 ou un code à usage unique, et le port s'ouvre pendant 90 secondes, pour votre adresse uniquement. Les scanners et les attaques par force brute voient un port fermé.
Une console qui retient mots de passe et commandes
La tuile « Console SSH » ouvre un terminal doté d'un panneau latéral. Le mot de passe sudo est saisi d'un clic, ou tout seul dès que son invite apparaît ; les commandes fréquentes se lancent depuis une liste, propre au serveur ou commune à toutes les sessions.
Un assistant IA directement dans la console
Décrivez la tâche avec vos mots et recevez des commandes accompagnées des boutons « Insert » (insérer) et « Run » (exécuter). L'assistant fonctionne avec Claude et avec tout serveur compatible OpenAI, y compris un modèle local dans votre propre réseau.
Du clic à l'invite du shell
La même confirmation qui ouvre RDP ouvre aussi SSH.
- Un clic sur la tuile. Les sessions SSH ont leur propre onglet dans le client, avec des tuiles compactes.
- Un toucher de la clé. Le client demande la confirmation à la passerelle : clé FIDO2 avec code PIN ou empreinte, Windows Hello, ou code à usage unique si la passerelle fonctionne en mode code.
- Le port s'ouvre pour vous seul. La passerelle ouvre le port SSH à l'adresse d'où vient la confirmation, pendant 90 secondes : assez pour lancer la connexion. Une session établie reste ouverte ; une nouvelle redemande la clé.
- La console lance ssh. C'est le
sshdu système : vos clés,ssh-agentet~/.ssh/configfonctionnent comme avant.
L'assistant IA : de la tâche à la commande
L'assistant loge dans le panneau latéral de la console et sait à quelle machine vous êtes connecté, et sous quel utilisateur. Le modèle, c'est vous qui le choisissez.
Décrivez la tâche, recevez une commande
Chaque commande proposée arrive dans son propre bloc, avec des boutons : « Insert » la saisit dans le terminal sans Entrée, « Run » l'exécute, « + Save » la garde dans votre liste de commandes.
Prompts : décrivez le serveur une seule fois
Des notes permanentes pour l'assistant : de quel système il s'agit, ce qui est installé, ce qu'il ne faut pas toucher. Les prompts cochés partent vers le modèle avec chaque question, pour cette session ou pour toutes.
Historique des conversations
Les conversations sont conservées par session : rouvrez-en une ancienne pour la poursuivre, ou commencez-en une nouvelle. Ouvrir une ancienne conversation ne saisit rien dans le terminal.
Ce que l'assistant voit et ce qu'il ne voit jamais
- Le texte du terminal : seulement tant que « Sees the console » (voit la console) est coché. Les 200 dernières lignes de l'écran partent alors avec chaque question. L'interdiction est appliquée par le programme lui-même, pas par la page du panneau.
- Les mots de passe : jamais. Le programme les saisit, le terminal ne les affiche pas, et ils n'entrent pas dans le texte envoyé au modèle.
- La clé API est stockée chiffrée (DPAPI sous Windows, trousseau de clés du bureau sous Linux) et n'est envoyée qu'à l'adresse pour laquelle elle a été enregistrée.
- Les requêtes partent directement de votre ordinateur vers l'adresse que vous avez saisie. Elles ne passent pas par nos serveurs.
C'est vous qui décidez qui appuie sur Entrée
- « By click only » (au clic uniquement, mode par défaut) : l'assistant propose, vous insérez ou exécutez.
- « Insert the first one » (insérer la première) : la première commande proposée arrive sur la ligne de commande, à vous d'appuyer sur Entrée.
- « Run the first one » (exécuter la première) : la première commande est exécutée aussitôt. La console vous met en garde contre ce mode au moment où vous l'activez.
L'assistant a pour consigne de ne pas commencer par une commande destructrice et de prévenir en une ligne avant une commande qui supprime des données, redémarre un service ou modifie des accès. Cela reste un modèle : lisez une commande avant de l'exécuter.
Les mots de passe se saisissent tout seuls
Comme un gestionnaire de mots de passe, mais dans le terminal.
- Une entrée répond à sa propre invite. Indiquez-lui un fragment de la ligne, par exemple
[sudo] password, et la console propose l'entrée dès que le terminal affiche cette invite. - « Type it by itself » (saisie automatique) : l'entrée répond à son invite sans clic, mais pas plus d'une fois toutes les 15 secondes, si bien qu'un mauvais mot de passe n'est jamais saisi trois fois de suite.
- Les mots de passe de connexion et les phrases secrètes des clés aussi :
Enter passphrase for key…est reconnu comme une invite de mot de passe. - Stockés par le système, pas par nous : DPAPI de l'utilisateur courant sous Windows, trousseau de clés du bureau sous Linux. La page du panneau ne reçoit jamais de mot de passe : elle désigne l'entrée, c'est le programme qui saisit le mot de passe.
Des commandes à portée de clic
Les commandes fréquentes d'un clic, plutôt que depuis l'historique du shell.
- Un clic exécute la commande ; « Insert » la saisit sans Entrée, pour que vous puissiez ajouter des arguments.
- Par serveur et communes : les commandes de cette session viennent en premier, les autres sont communes à toutes les sessions.
- Les commandes sur plusieurs lignes sont acceptées, et une bonne commande de l'assistant se conserve avec « + Save ».
Dans le client : un onglet SSH et les réglages de session
Les serveurs SSH côtoient les bureaux, dans un onglet à part.
- L'onglet « SSH » et ses tuiles compactes : nom, adresse, utilisateur, date de la dernière connexion. La touche Tab bascule entre cet onglet et les bureaux.
- Une image de votre choix pour une tuile (PNG, JPEG, BMP, GIF, ICO), pour repérer le bon serveur d'un coup d'œil.
- Port SSH, fichier de clé et options ssh dans la session : les options sont passées à ssh telles quelles, par exemple la redirection de port
-Lou un hôte de rebond-J. - Rien à télécharger séparément : sous Windows, la console est intégrée au client et arrive avec sa mise à jour ; sous Linux, c'est la commande
rdpfido consoledu paquet client.
La passerelle : une seule commande sur le serveur
La passerelle RDP FIDO pour Linux ferme d'autres ports TCP derrière la même clé : SSH, une console web Proxmox, un panneau d'administration.
Sur le serveur
# fermer SSH ; plusieurs ports : séparez-les par des espaces$ sudo rdpfido-gate ports add 22 # ce qui est fermé en ce moment$ sudo rdpfido-gate ports # remettre le port en mode normal$ sudo rdpfido-gate ports remove 22
Depuis un client Linux
# clé → les ports s'ouvrent pendant la fenêtre d'accès$ rdpfido open web-01 # idem, puis ssh vers l'hôte de la session$ rdpfido ssh web-01 # idem, dans la fenêtre de la console SSH$ rdpfido console web-01
- Paquets pour Ubuntu, Debian, Astra Linux, RED OS et ALT Linux (deb et rpm), et une archive avec installateur pour toute autre distribution.
- Jusqu'à 16 ports. Les connexions déjà ouvertes ne sont pas coupées : le port 22 peut donc être fermé depuis une session SSH.
- Impossible de s'enfermer dehors par accident : tant que la première clé n'est pas enregistrée, les ports restent ouverts, et
rdpfido-gate unlocksur la console de la machine elle-même sert d'issue de secours. - La fenêtre d'accès ne limite que le début d'une connexion. Une session établie pendant cette fenêtre se poursuit après sa fermeture.
Pour commencer
- Sur le serveur (Linux) : installez le paquet de la passerelle, exécutez
sudo rdpfido-gate setup, puissudo rdpfido-gate ports add 22. - Sur votre ordinateur : installez le client RDP FIDO, version 1.24.1 ou plus récente, et enregistrez votre clé avec le code affiché par la passerelle.
- Ajoutez une session : « Ajouter » dans l'onglet « SSH », puis le serveur, l'identifiant, le protocole « Console SSH » et l'adresse de la passerelle.
- L'assistant : onglet « Assistant », puis la roue crantée : Claude avec une clé API, ou l'adresse de votre propre serveur.
Ce qui n'existe pas encore
- Les ports supplémentaires sont fermés par la passerelle sous Linux. La passerelle sous Windows ne protège pour l'instant que RDP.
- Seul RDP passe par un hub cloud (rdpfido-cloud) ; SSH a besoin d'une connexion directe à la passerelle.
- Le client graphique pour Linux n'a pas de tuile de console : la console se lance avec
rdpfido console, et dans les paquets Linux actuels le nom du modèle se saisit à la main. - Pas de transfert de fichiers, ni d'onglets réunissant plusieurs terminaux dans une même fenêtre de console.
Questions et réponses
L'assistant IA voit-il mes mots de passe ?
Non. Les mots de passe sont saisis par le programme lui-même, le terminal ne les affiche pas, la page du panneau ne les reçoit jamais, et ils n'entrent pas dans le texte envoyé au modèle. L'assistant ne reçoit le texte du terminal que tant que « Sees the console » est coché.
Puis-je utiliser un modèle local, sans aucun cloud ?
Oui. N'importe quel serveur compatible OpenAI convient : LM Studio, Ollama, votre propre passerelle d'API. Les requêtes vont de votre ordinateur directement à l'adresse saisie : avec un modèle dans votre réseau, rien n'en sort.
Quels modèles sont pris en charge ?
Claude via l'API Anthropic (une clé API est nécessaire) et tout modèle derrière une API compatible OpenAI. Une fois l'adresse saisie, la console affiche les modèles du serveur ; le nom peut aussi être saisi à la main.
L'assistant peut-il exécuter des commandes tout seul ?
Pas par défaut : les commandes ne sont insérées ou exécutées que sur un clic de votre part. Il existe deux autres modes, « Insert the first one » et « Run the first one » ; n'activez le second que si vous faites confiance à la fois au modèle et à la tâche.
Ai-je besoin d'une clé matérielle ?
Une clé FIDO2 (YubiKey et autres) ou Windows Hello suffit. S'il n'y a pas de clés, la passerelle peut fonctionner en mode code à usage unique, avec une application d'authentification.
Puis-je utiliser la console sans la passerelle ?
Oui. Une session sans passerelle est une simple console SSH avec mots de passe, commandes et assistant. La passerelle apporte l'essentiel : un port fermé à tous les autres.
Est-ce payant ?
La console fait partie du client, version gratuite comprise (jusqu'à 10 sessions enregistrées). Pro, un paiement unique, supprime la limite de sessions et la publicité. Le modèle se paie à part auprès de son fournisseur, ou ne coûte rien si c'est le vôtre.
Sur quels systèmes cela fonctionne-t-il ?
Le client avec la console : Windows 10 et 11 (il utilise OpenSSH et WebView2 du système) et Linux. La passerelle qui ferme SSH : Linux, avec des paquets pour Ubuntu, Debian, Astra Linux, RED OS et ALT Linux.
Fermez SSH derrière la clé et travaillez dans une console qui vous aide
La version gratuite comprend la passerelle, le client et la console. L'assistant fonctionne avec le modèle que vous choisissez.






