ssh

Se connecter, exécuter des commandes et créer des tunnels chiffrés.

Avant de commencer

À la première connexion, vérifiez l’empreinte de la clé d’hôte par un canal fiable. -N active uniquement les redirections ; Ctrl+C arrête ces tunnels au premier plan. -L résout et atteint la destination depuis le serveur SSH ; -R atteint sa destination depuis cet ordinateur. L’écoute distante dépend des règles de redirection du serveur, et la liaison à la boucle locale dépend aussi de GatewayPorts. ExitOnForwardFailure vérifie la mise en place initiale, pas chaque destination ultérieure. -D fournit SOCKS, pas un VPN : configurez le client séparément, y compris le DNS distant si disponible. Masquez adresses, identifiants et chemins de clés avant de partager des journaux détaillés.

Exemples

Se connecter au compte distant, avec vérification de la clé d’hôte et authentification.

ssh alice@server.example.com

Choisir le port 2222 et une clé ; IdentitiesOnly limite les identités proposées.

ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes alice@server.example.com

Passer par un bastion avec ProxyJump (-J).

ssh -J alice@bastion.example.com alice@internal.example.com

Redirection locale : le port 15432 atteint la base de données via le serveur.

ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 -o ExitOnForwardFailure=yes alice@server.example.com

Redirection distante : le port 18080 de la boucle locale du serveur atteint le port 8080 de cet ordinateur.

ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -o ExitOnForwardFailure=yes alice@server.example.com

Créer une écoute SOCKS locale sur 127.0.0.1:1080.

ssh -N -D 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Diagnostiquer avec des journaux détaillés et un délai de connexion de dix secondes.

ssh -vvv -o ConnectTimeout=10 alice@server.example.com

Passer par deux hôtes de rebond dans l’ordre. Le client authentifie chaque saut ; vérifiez chaque clé hôte.

ssh -J alice@jump1.example.com,alice@jump2.example.com alice@target.example.com

Afficher les paramètres client après application de Host et Include. La sortie peut contenir des informations sensibles.

ssh -G alice@server.example.com

Exécuter une commande distante puis revenir au terminal local. Citez la commande selon le shell distant.

ssh alice@server.example.com 'uptime'

Créer et réutiliser une connexion, la vérifier puis arrêter le maître. Protégez ~/.ssh ; l’arrêt ferme aussi les sessions dépendantes.

ssh -M -S ~/.ssh/securepipes-%C -o ControlPersist=10m -fN alice@server.example.com
ssh -S ~/.ssh/securepipes-%C alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O check alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O exit alice@server.example.com

Lister les catégories de requête, algorithmes de clé et chiffrements. Le support client ne garantit pas l’acceptation par le serveur.

ssh -Q help
ssh -Q key
ssh -Q cipher

Vérifier l’entrée known_hosts et son empreinte. Supprimez-la seulement après vérification indépendante du changement de clé ; utilisez le format exact hôte et port.

ssh-keygen -F server.example.com -l
ssh-keygen -R server.example.com

Utiliser le mode non interactif et un délai pour les scripts. Configurez au préalable l’authentification et la confiance ; toute demande interactive échoue.

ssh -o BatchMode=yes -o ConnectTimeout=10 alice@server.example.com

Utiliser ProxyCommand et -W via un hôte de rebond. ProxyJump est généralement plus simple ; vérifiez les deux clés hôtes.

ssh -o 'ProxyCommand=ssh -W %h:%p alice@bastion.example.com' alice@target.example.com

Créer un écouteur SOCKS sur le bouclage du serveur. D’autres utilisateurs et processus locaux peuvent y accéder ; le serveur doit autoriser le transfert.

ssh -N -R 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Configurer les sondes SSH chiffrées et le délai de connexion. Elles détectent une absence de réponse sans garantir la reconnexion.

ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ConnectTimeout=10 alice@server.example.com

Options et exemples

-p portCourant

Connectez-vous au port du serveur spécifié.

Exemple
ssh -p 2222 alice@server.example.com
-i identity_fileCourant

Utilisez le fichier de clé privée spécifié ; protégez-le et ne le partagez jamais.

Exemple
ssh -i ~/.ssh/id_ed25519 alice@server.example.com
-l login_name

Spécifiez le nom de connexion à distance.

Exemple
ssh -l alice server.example.com
-J destinationCourant

Connectez-vous via un hôte de saut SSH.

Exemple
ssh -J alice@bastion.example.com alice@internal.example.com
-L address:port:host:hostportCourant

Transférez un port d'écoute local vers une destination atteinte depuis le serveur SSH.

Exemple
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 alice@server.example.com
-R address:port:host:hostportCourant

Transférez un port d'écoute distant vers une destination atteinte depuis l'ordinateur local. La stratégie du serveur peut restreindre la liaison.

Exemple
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 alice@server.example.com
-D address:portCourant

Créez un écouteur SOCKS local. Configurez chaque client pour l'utiliser ; ce n'est pas un VPN.

Exemple
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-NCourant

N'exécutez pas de commande à distance ; utile pour le transfert uniquement.

Exemple
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-o option=valueCourant

Définissez une option ssh_config pour cet appel. La réussite de la configuration du transfert ne garantit pas qu’une destination soit accessible ultérieurement.

Exemple
ssh -o ExitOnForwardFailure=yes alice@server.example.com
-F configfile

Utilisez un autre fichier de configuration client.

Exemple
ssh -F ~/.ssh/lab_config alice@server.example.com
-v / -vvvCourant

Imprimer la sortie de diagnostic ; plus de caractères v augmentent les détails. Les journaux peuvent contenir des informations de connexion sensibles.

Exemple
ssh -vvv alice@server.example.com
-4 / -6

Utilisez respectivement IPv4 uniquement ou IPv6 uniquement.

Exemple
ssh -4 alice@server.example.com
-C

Demander une compression. Cela n’améliorera peut-être pas le trafic déjà compressé.

Exemple
ssh -C alice@server.example.com
-T / -t

Désactivez ou demandez un pseudo-terminal, respectivement.

Exemple
ssh -t alice@server.example.com
-A

Activez le transfert d'agent. Un hôte distant compromis peut demander des signatures à l'agent transféré ; à utiliser uniquement avec des hôtes de confiance.

Exemple
ssh -A alice@server.example.com
-G

Imprimez la configuration client effective après avoir évalué les règles Host et Match.

Exemple
ssh -G lab
-V

Imprimez la version du client SSH installé.

Exemple
ssh -V

Références officielles

Vérifié le 27 octobre 2026