Ubuntu Server sur Linux, les choix à poser avant l'installation
Ubuntu Server est un bon choix pour héberger des services Linux stables, à condition de préparer la version LTS, l'accès SSH, les mises à jour, le pare-feu et les sauvegardes.
Informatique
Windows 11 intègre nativement un client SSH basé sur OpenSSH, éliminant le besoin de recourir à des logiciels tiers comme PuTTY pour établir des connexions sécurisées vers des serveurs distants. Cette fonctionnalité, disponible depuis Windows Server 2019 et Windows 10 version 1809, représente une évolution majeure pour les administrateurs système et les développeurs qui gèrent des environnements hétérogènes. Découvrez comment exploiter pleinement ce client intégré pour optimiser vos connexions distantes et vos transferts de fichiers.
Le client SSH est généralement préinstallé sur Windows 11, mais il est recommandé de vérifier sa présence avant de procéder à sa configuration. Cette vérification s’effectue rapidement via PowerShell, l’interface de ligne de commande native de Windows. Ouvrez PowerShell en tant qu’administrateur et exécutez la commande suivante pour confirmer l’installation :
Get-WindowsCapability -Online | Where{ $_.Name -like ‘OpenSSH.Client*’ }
Si le client SSH n’apparaît pas dans les résultats ou affiche un statut d’absence, l’installation devient nécessaire. Plusieurs méthodes permettent d’ajouter ce composant au système. La première approche, directe et efficace, utilise PowerShell avec une commande simple :
Add-WindowsCapability -Online -Name OpenSSH.Client
Cette commande télécharge les fichiers nécessaires depuis les serveurs Microsoft et les intègre dans votre installation Windows. L’alternative DISM (Deployment Image Servicing and Management) fonctionne de manière équivalente :
dism /online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0
Attention à ne pas confondre le client SSH avec le serveur SSH. Tandis que le client permet de se connecter à un serveur distant, le serveur SSH (OpenSSH Server) accepte les connexions entrantes sur votre machine locale. Installez exclusivement le client si votre objectif est de gérer des machines distantes, ou les deux composants si vous avez besoin d’une bidirectionnalité complète.
Une fois l’installation terminée, les binaires d’OpenSSH se situent dans le répertoire C:WindowsSystem32OpenSSH, et non dans le dossier Programmes conventionnel. Cette localisation reflète le statut de composant système d’OpenSSH. Vous n’avez pas besoin d’y accéder directement ; les utilitaires fonctionnent depuis n’importe quel terminal Windows, PowerShell ou invite de commande.
Le client SSH expose plusieurs outils spécialisés, chacun ayant un rôle distinct dans la gestion des connexions sécurisées :
Pour valider la présence du client, tapez simplement ssh dans PowerShell. Si le message d’aide apparaît, le client fonctionne correctement.
La méthode la plus directe pour se connecter à un serveur distant consiste à utiliser le client SSH avec une authentification basique par mot de passe. Cette approche convient aux environnements de test ou aux connexions ponctuelles, bien qu’une authentification par clé soit recommandée pour les environnements de production.
Installer Git et bien démarrer le contrôle apporte des repères complémentaires pour situer installer git et bien démarrer le contrôle de version.
La syntaxe fondamentale reste simple et suit le modèle standard du protocole SSH :
ssh nomutilisateur@adresseip
Par exemple, pour accéder à un serveur Linux avec l’utilisateur « florian » hébergé à l’adresse IP 192.168.14.158 :
Lors de la première connexion, Windows vous demande d’accepter la clé de l’hôte distant. Cette étape sécuritaire prévient les attaques de type man-in-the-middle. Saisissez yes et appuyez sur Entrée pour valider. Ensuite, le mot de passe vous sera demandé. Une fois authentifié, vous accédez à un shell interactif sur la machine distante.
Si le serveur SSH opère sur un port autre que le port 22 (le port standard), vous devez le spécifier avec l’option -p (minuscule pour ssh) :
ssh [email protected] -p 22222
Pour terminer la session, exécutez simplement la commande exit ou appuyez sur Ctrl+D.
Nombreuses sont les organisations qui modifient le port SSH par défaut pour renforcer la sécurité. Cette pratique, bien qu’offrant une sécurité par l’obscurité limitée, demeure courante. Windows 11 gère facilement ces configurations alternatives grâce à l’option de port.
Les administrateurs déploient fréquemment SSH sur des ports supérieurs à 1024, comme 2222, 22000 ou même des numéros aléatoires à cinq chiffres. À chaque nouvelle connexion sur un port spécifique, l’option -p doit être réitérée. Pour optimiser ce processus, les utilisateurs avancés configurent des profils personnalisés dans le fichier de configuration SSH ~/.ssh/config, ce qui permet de créer des alias simplifiés.
L’authentification par clé publique représente le standard de sécurité dans les environnements professionnels et critiques. Contrairement aux mots de passe, les paires de clés offrent une protection cryptographique robuste et facilitent l’automatisation des connexions sans interaction humaine.
La génération d’une paire de clés s’effectue avec l’utilitaire ssh-keygen.exe :
ssh-keygen
L’outil interactif vous demande plusieurs informations. Vous pouvez conserver les valeurs par défaut en appuyant simplement sur Entrée, ou personnaliser le chemin et le nom des fichiers. À la fin du processus, deux fichiers sont créés dans le répertoire C:UsersVotreUtilisateur.ssh :
| Fichier | Type | Utilisation | Confidentialité |
|---|---|---|---|
| id_ed25519 | 📋 Clé privée | Stockée localement, utilisée pour signer les demandes de connexion | 🔒 Strictement confidentielle |
| id_ed25519.pub | 🔓 Clé publique | Copiée sur le serveur distant pour autoriser les connexions | ✅ Peut être partagée |
| id_rsa (ancienne génération) | 📋 Clé privée RSA | Format legacy, moins recommandé aujourd’hui | 🔒 Strictement confidentielle |
| id_rsa.pub (ancienne génération) | 🔓 Clé publique RSA | Format legacy, toujours fonctionnel | ✅ Peut être partagée |
La clé privée demeure le secret absolu de votre machine. Elle ne doit jamais être copiée, partagée ou transmise, même partiellement. La clé publique, au contraire, doit être installée sur chaque serveur auquel vous souhaitez accéder.
Contrairement à Linux et macOS, Windows ne possède pas la commande ssh-copy-id en natif. Une alternative directe consiste à copier manuellement le contenu de la clé publique vers le fichier ~/.ssh/authorized_keys sur le serveur distant.
Pour compléter cette lecture, Créer une CSR OpenSSL sans exposer votre apporte des repères utiles sur créer une csr openssl sans exposer votre clé privée.
La commande suivante automatise ce processus :
cat « C:UsersVotreUtilisateur.sshid_ed25519.pub » | ssh [email protected] « mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys »
Cette commande enchaîne plusieurs opérations : elle lit votre clé publique locale, se connecte au serveur distant via SSH (vous devrez saisir votre mot de passe une dernière fois), crée le répertoire .ssh s’il n’existe pas, puis ajoute votre clé publique au fichier authorized_keys. Après cette étape, les connexions futures utilisent automatiquement votre clé privée sans demander de mot de passe.
Pour vérifier que l’authentification par clé fonctionne, relancez une connexion SSH. Si tout est configuré correctement, vous accédez au serveur sans saisir de mot de passe :
Si vous avez défini une passphrase lors de la génération de la clé (recommandé pour renforcer la sécurité), le système vous la demande à chaque connexion. Pour éviter cette répétition fastidieuse tout en conservant la protection offerte par la passphrase, l’agent SSH de Windows entre en jeu.
L’agent SSH stocke temporairement vos clés en mémoire, déverrouillées par la passphrase saisie une seule fois au démarrage. Les connexions ultérieures n’exigent plus la passphrase.
Deux étapes sont nécessaires. D’abord, configurez le service ssh-agent pour démarrer automatiquement :
Set-Service ssh-agent -StartupType ‘Automatic’
Ensuite, démarrez-le immédiatement :
Start-Service ssh-agent
Maintenant, ajoutez votre clé privée à l’agent :
ssh-add « C:UsersVotreUtilisateur.sshid_ed25519 »
Le système vous demande la passphrase une seule fois. Dès lors, chaque connexion SSH fonctionne sans intervention supplémentaire, tant que le service reste actif. Pour valider que l’ajout a réussi, vous verrez un message de confirmation incluant votre identité locale.
Au-delà des simples connexions interactives, Windows 11 offre deux protocoles pour transférer des fichiers de manière sécurisée. SCP (Secure Copy) et SFTP (SSH File Transfer Protocol) répondent à des besoins différents, avec des avantages distincts selon le contexte d’utilisation.
SCP excelle pour les transferts simples et en ligne de commande, idéal pour les scripts d’automatisation. SFTP, à l’inverse, propose une interface interactive ressemblant au FTP traditionnel, pratique pour les opérations manuelles impliquant de multiples fichiers ou dossiers.
SCP fonctionne selon une syntaxe similaire à celle de la commande cp sous Linux, mais avec la capacité de franchir les limites du réseau. Pour envoyer un fichier local vers un serveur distant :
Pour approfondir ce point, consultez pratique : configurer une adresse IP fixe, qui traite plus précisément de guide pratique : configurer une adresse ip fixe sur debian 13 étape par étape.
scp « C:UsersVotreUtilisateurDocumentsrapport.pdf » [email protected]:/home/florian
Cette commande copie le fichier rapport.pdf vers le répertoire /home/florian du serveur distant. Notez l’absence d’espace après le deux-points, qui sépare l’adresse du serveur du chemin distant.
Si le serveur utilise un port non-standard, spécifiez-le avec l’option -P (majuscule pour SCP, contrairement à SSH) :
scp -P 22222 « C:UsersVotreUtilisateurDocumentsrapport.pdf » [email protected]:/home/florian
Pour envoyer un dossier entier et son contenu récursivement, utilisez l’option -r :
scp -r « C:UsersVotreUtilisateurDocumentsProjetComplet » [email protected]:/home/florian
Cette opération copie le dossier ProjetComplet avec tous ses fichiers et sous-dossiers sur le serveur distant.
L’opération inverse (téléchargement) inverse simplement la source et la destination dans la commande SCP :
scp [email protected]:/home/florian/donnees.xlsx « C:UsersVotreUtilisateurDownloads »
Cette commande récupère le fichier donnees.xlsx depuis le serveur et l’enregistre dans le dossier Téléchargements local. L’option -r s’applique également au téléchargement, permettant de rapatrier des dossiers complets :
scp -r [email protected]:/home/florian/Sauvegardes « C:UsersVotreUtilisateurSauvegardes_distantes »
SFTP offre une expérience différente : au lieu d’exécuter une seule commande de transfert, vous établissez une session interactive avec le serveur distant, comparable à une connexion FTP. Pour démarrer une session SFTP :
sftp [email protected]
Le prompt change en sftp>, indiquant que vous êtes dans une session SFTP. Vous pouvez maintenant exécuter des commandes spécifiques. Pour envoyer un fichier :
put « C:UsersVotreUtilisateurDocumentsdocument.txt »
Pour lister les fichiers du serveur distant :
ls /home/florian
Pour approfondir ce point, consultez incontournable des protocoles FTP, FTPS et SFTP, qui traite plus précisément de guide incontournable des protocoles ftp, ftps et sftp : comprendre et maîtriser le transfert de fichiers pour les novices.
Pour télécharger un fichier :
get /home/florian/rapport_mensuel.pdf « C:UsersVotreUtilisateurDownloads »
SFTP permet également de naviguer dans l’arborescence distante avec cd, de créer des dossiers avec mkdir, et de lister le répertoire local avec lls. Pour quitter la session, tapez exit.
Bien que SFTP soit plus polyvalent, SCP reste privilégié pour les scripts et les transferts massifs en raison de sa simplicité et de sa performance brute.
La maîtrise technique du client SSH suppose également une compréhension des enjeux de sécurité qui sous-tendent chaque connexion. Les erreurs de configuration ou les comportements négligents peuvent compromettre l’intégrité de vos systèmes distants et des données qu’ils contiennent.
La sécurité SSH repose sur plusieurs piliers : la complexité de l’authentification, la gestion des clés, la configuration des serveurs distants, et l’éducation des utilisateurs aux risques d’ingénierie sociale.
La clé privée est le fondement de votre sécurité. Contrairement aux mots de passe, qui peuvent être changés rapidement après une compromission, une clé privée révélée exige une révocation immédiate et une régénération sur tous les serveurs où elle est autorisée.
Stockez votre clé privée dans un emplacement sûr, idéalement un dossier dont seul votre compte utilisateur a accès. Le répertoire par défaut C:UsersVotreUtilisateur.ssh bénéficie de permissions restrictives en natif, mais ne reposez pas exclusivement sur cela. Considérez un chiffrement du disque dur complet (BitLocker sous Windows) pour une protection supplémentaire.
Les passphrases offrent une ligne de défense supplémentaire. Même si quelqu’un accède à votre clé privée, sans la passphrase, celle-ci reste inutilisable. Bien qu’elle ajoute une étape d’authentification, l’agent SSH minimise l’inconvénient en ne demandant la passphrase qu’une seule fois par session.
Changez vos clés SSH tous les deux à trois ans, ou immédiatement si vous soupçonnez une compromission. Maintenez un registre des serveurs où chaque clé est autorisée, facilitant la révocation en cas de besoin.
Votre sécurité dépend aussi de la configuration des serveurs auxquels vous vous connectez. Si vous gérez ces serveurs, implémentez ces recommandations :
Le mode verbose de SSH affiche des informations de débogage détaillées, utiles pour diagnostiquer les problèmes de connexion :
ssh -v [email protected]
Augmentez le niveau de verbosité avec -vv ou -vvv pour des détails encore plus profonds. Ces informations révèlent les étapes de la négociation de connexion, les algorithmes choisis, et les erreurs survenant lors de l’authentification.
Sur les serveurs Linux distants, consultez le journal SSH dans /var/log/auth.log ou /var/log/secure pour voir les tentatives de connexion et identifier les tentatives non autorisées. Ces logs permettent de détecter les attaques par force brute ou les comportements suspects.
Windows 11 enregistre également les activités SSH dans l’Observateur d’événements, sous la section Applications et services → OpenSSH. Consultez-le régulièrement pour détecter les anomalies.
Windows 11 met à disposition un client SSH natif et performant, intégré profondément dans le système d’exploitation et disponible depuis PowerShell, l’Invite de commande, ou Windows Terminal. Maîtriser ses fonctionnalités transforme la gestion de serveurs distants en un processus fluide et sécurisé, sans dépendre de logiciels tiers. Les trois cas d’usage essentiels—connexion interactive, transfert de fichiers, et automatisation scriptée—trouvent des solutions directement intégrées dans le protocole SSH, permettant une administration système efficace et cohérente. La route vers une infrastructure bien gérée commence par la compréhension et l’application rigoureuse de ces outils.
Pour approfondir ce point, consultez pratique pour réinitialiser Windows 11 tout en, qui traite plus précisément de guide pratique pour réinitialiser windows 11 tout en conservant vos fichiers personnels.
À lire aussi