Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.replit.com/llms.txt

Use this file to discover all available pages before exploring further.

Qu’est-ce que SSH ?

SSH, qui signifie Secure Shell, est un protocole sécurisé qui facilite l’accès distant à l’interface de ligne de commande de votre Replit App. Avec SSH, vous pouvez transférer des fichiers de manière transparente et utiliser votre environnement de développement intégré (IDE) local préféré pour modifier du code sur Replit, améliorant la collaboration et la productivité dans votre flux de travail de développement. La fonctionnalité SSH est disponible pour les forfaits Core, Pro et tous les autres forfaits payants. Voici un aperçu du processus :
  • Générer une paire de clés SSH sur votre machine locale
  • Ajouter cette clé SSH au volet SSH dans n’importe quelle Replit App
  • Se connecter en utilisant un client SSH ou un éditeur pouvant fonctionner via SSH (comme VSCode ou Cursor)
Les clés SSH sont associées à votre compte, pas à une Replit App particulière. Cela signifie que vous n’avez besoin d’ajouter une clé publique qu’une seule fois, après quoi vous pouvez vous connecter à n’importe quelle Replit App à laquelle vous avez accès.

Pourquoi utiliser SSH ?

  • Mises à jour automatiques entre la Replit App et l’éditeur : Toutes les modifications apportées dans la Replit App sont répercutées instantanément dans votre éditeur, et toutes les modifications apportées dans l’éditeur sont mises à jour dans la Replit App. Cette synchronisation transparente garantit que votre base de code est toujours à jour sur toutes les plateformes.
  • Synchronisation de la gestion des fichiers : Que vous ajoutiez, supprimiez ou mettiez à jour des fichiers, ces modifications sont synchronisées en temps réel entre votre éditeur et la Replit App. Cette fonctionnalité garantit que la structure de votre projet reste cohérente, quel que soit l’endroit où les modifications sont initiées.
  • Gestion des dossiers et déplacement des fichiers : Le déplacement de fichiers entre les dossiers est également synchronisé entre vos éditeurs et la Replit App. Cela garantit que les modifications organisationnelles effectuées dans un environnement sont fidèlement répercutées dans l’autre, préservant l’intégrité et la structure de votre projet.

Trouver ou créer une paire de clés

Pour configurer SSH pour votre compte, vous aurez besoin de votre clé publique SSH.

Vérifier si vous avez déjà une paire de clés

Vous pouvez vérifier si vous avez déjà une clé publique en exécutant la commande suivante dans un Terminal sur votre ordinateur local :
ls -l ~/.ssh
Si vous obtenez une erreur, ce n’est pas grave, passez à Générer une nouvelle paire de clés. Si vous voyez un fichier appelé replit.pub, passez à Obtenir le contenu de votre clé publique.

Générer une nouvelle paire de clés

Sur votre machine, ouvrez un Terminal (ou Invite de commandes) et collez la commande suivante :
ssh-keygen -t ed25519 -f ~/.ssh/replit -q -N ""
Cette commande vérifie si un fichier de clé publique SSH spécifique existe déjà. Sinon, elle crée une nouvelle clé SSH avec des paramètres raisonnables.

Obtenir le contenu de votre clé publique

Une fois que vous avez soit confirmé que vous avez une paire de clés, soit créé une, affichez le contenu de la clé publique (l’un des deux fichiers de noms similaires, suffixé par .pub), car nous en aurons besoin plus tard.
cat ~/.ssh/replit.pub
Sauvegardez le contenu de replit.pub pour l’utiliser plus tard dans cet article et passez à ajouter la clé SSH à votre compte.

Ajouter la clé SSH à votre compte

Ajouter la clé publique directement dans une Replit App, via le volet SSH

  1. Dans votre Replit App sur n’importe quelle fenêtre, sélectionnez le bouton +, puis recherchez SSH.
SSH tool button in the Replit interface
  1. Accédez à l’onglet Clés et sélectionnez Nouvelle clé SSH.
  2. Dans la fenêtre contextuelle, saisissez un Libellé pour votre clé (par ex., ma-clé-ssh) et collez la clé publique que vous avez copiée dans la section Clé. Sélectionnez le bouton Ajouter la clé SSH. Votre clé a été ajoutée et autorisée pour utilisation.
Add SSH key dialog with label and key fields filled in

Ajouter la clé publique directement dans les Paramètres

Vous pouvez également ajouter une clé SSH en ouvrant les Paramètres et, sous Compte, en sélectionnant Avancé (ou l’option Clés SSH). Sélectionnez Ajouter une clé SSH et collez le contenu de replit.pub de la section précédente, Trouver ou créer une paire de clés.
Lorsque vous avez plusieurs clés publiques sur votre machine, il est important de vous assurer que vous utilisez la bonne combinaison de clés privées et publiques pour votre configuration SSH.

Se connecter à votre Replit App

Configurer votre configuration SSH

  1. Dans un terminal, assurez-vous que le répertoire ~/.ssh et le fichier ~/.ssh/config existent :
mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch ~/.ssh/config && chmod 600 ~/.ssh/config
open -a 'TextEdit' ~/.ssh/config || nano ~/.ssh/config
  1. Ajoutez un bloc de configuration pour utiliser la paire de clés replit pour tous les domaines *.replit.dev :
Host *.replit.dev
    Port 22
    IdentityFile ~/.ssh/replit
    StrictHostKeyChecking accept-new

Se connecter depuis VSCode ou Cursor

  1. Depuis une Replit App, ouvrez le volet SSH
  2. Dans le volet SSH, accédez à l’onglet Connecter et sélectionnez Lancer VS Code.
SSH connect tab showing Launch VS Code option
  1. Si vous êtes invité à remplir ~/.ssh/config, saisissez ce qui suit :
    Host *.replit.dev
        Port 22
        IdentityFile ~/.ssh/replit
        StrictHostKeyChecking accept-new
    
    L’ajout de la configuration SSH n’est demandé que la première fois que vous essayez de vous connecter à VS Code ou à un autre éditeur. Pour revenir au fichier de configuration, vous devrez sélectionner Configurer les hôtes SSH….
  2. Si vous êtes alerté par un avertissement d’application externe, sélectionnez Oui pour confirmer que vous souhaitez ouvrir votre projet dans votre éditeur préféré ou VS Code.
  3. Il peut vous être demandé d’installer ou de mettre à jour des extensions SSH périodiquement. Replit s’efforcera d’être compatible avec les dernières versions de ces IDE, et vous pouvez également recevoir des mises à jour de sécurité importantes.

Se connecter manuellement

En bas de l’onglet « Connecter » du volet SSH, vous trouverez « Se connecter manuellement ». Copiez cette commande, collez-la dans un Terminal local (Mac ou Linux) ou une Invite de commandes locale (Windows) pour vous connecter directement. C’est également un bon moyen de déboguer les problèmes de connexion avec les IDE, ainsi que de collecter des informations de connexion « verbeux » précieuses lors du signalement de bugs au support Replit. Une erreur indiquant que nous essayons de nous connecter avec une clé privée inexistante :
$ ssh -i ~/.ssh/replit -p 22 c96b6ade-d5e4-4f7a-bc5b-52334509b2a3@c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev
Warning: Identity file /Users/user/.ssh/replit not accessible: No such file or directory.
Journaux de débogage complets d’une tentative de connexion SSH, à inclure dans un rapport de bug :
$ ssh -vvv -i ~/.ssh/replit -p 22 c96b6ade-d5e4-4f7a-bc5b-52334509b2a3@c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev
OpenSSH_9.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/.../.ssh/config
debug1: /Users/.../.ssh/config line 1: Applying options for *
debug1: /Users/.../.ssh/config line 4: Applying options for *.replit.dev
debug3: channel_clear_timeouts: clearing
debug1: Connecting to c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev port 22.
debug1: Connection established.
debug1: identity file /Users/dstewart/.ssh/replit type 3
debug1: Local version string SSH-2.0-OpenSSH_9.6
debug1: Remote protocol version 2.0, remote software version Replit-SSH-Proxy
debug1: compat_banner: no match: Replit-SSH-Proxy
debug3: fd 5 is O_NONBLOCK
...
Welcome to the Replit SSH Proxy.

Visit https:/.replit.com/replit-workspace/ssh to learn more about SSH on Replit.
debug3: receive packet: type 51
debug1: Authentications that can continue: password,publickey
debug3: start over, passed a different list password,publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
...
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Se connecter via un outil non répertorié ici

Il existe de nombreux clients SSH disponibles pour différentes plateformes et systèmes d’exploitation, offrant souvent des fonctionnalités ou des intégrations différentes. Vous pouvez toujours décomposer la commande affichée dans « Se connecter manuellement » en ses composants constitutifs pour déterminer comment configurer chaque client :
ssh -i ~/.ssh/replit -p 22  c96b6ade-d5e4-4f7a-bc5b-52334509b2a3@c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev
       ^-----v-----^    ^^  ^-----------------v----------------^ ^------------------------------v-------------------------------------^
        Clé privée   Port                Utilisateur               @                           Nom d'hôte
Nom d’hôte : <votre_nom_hôte>.<cluster>.replit.dev Port : <numéro_de_port> Utilisateur : Nom d'utilisateur Clé privée : Chemin vers le fichier de clé privée sur votre ordinateur. Généralement à côté de replit.pub.