C'est quoi, ssh ?
SSH (Secure Shell) établit une connexion chiffrée entre ton ordinateur et un serveur distant. Tu obtiens un terminal sur le serveur, exactement comme si tu y étais physiquement.
💡 L'analogie : ssh, c'est comme téléporter ton clavier et ton écran dans la salle serveur à l'autre bout du monde — avec un tunnel chiffré inviolable.
# Syntaxe : ssh utilisateur@adresse
$ ssh ubuntu@141.145.222.61
# Avec un port différent (défaut = 22)
$ ssh -p 2222 ubuntu@monserveur.com
# Avec une clé privée (recommandé)
$ ssh -i ~/.ssh/ma-cle.pem ubuntu@monserveur.com
Les clés SSH — l'authentification sans mot de passe
Les clés SSH remplacent les mots de passe par un système cryptographique. Plus sécurisé, plus pratique.
# 1. Générer une paire de clés
$ ssh-keygen -t ed25519 -C "mon@email.fr"
# 2. Envoyer la clé publique sur le serveur
$ ssh-copy-id ubuntu@monserveur.com
# 3. Connexion sans mot de passe !
$ ssh ubuntu@monserveur.com
Welcome to Ubuntu 22.04 LTS
Port forwarding — les tunnels SSH
# Accéder à un port distant via localhost
$ ssh -L 8080:localhost:80 user@serveur
# → http://localhost:8080 accède au port 80 du serveur
# Tunnel en arrière-plan (sans shell)
$ ssh -N -f -L 5432:localhost:5432 user@serveur
# → Accès à PostgreSQL distant comme s'il était local
Fichier de config SSH
# Créer des alias de connexion
Host oracle
HostName 141.145.222.61
User ubuntu
IdentityFile ~/.ssh/ma-cle.pem
# Ensuite, connexion simplifiée :
$ ssh oracle # au lieu de ssh -i ~/.ssh/ma-cle.pem ubuntu@141.145.222.61