Comment gérer un fichier de configuration SSH sous Windows et Linux
Votre fichier de configuration SSH vous permet de définir des paramètres spécifiques pour chaque hôte SSH, ce qui facilite la connexion à cet hôte. En définissant un grand nombre de ces propriétés communes ou inhabituelles dans le fichier, il élimine la nécessité de mémoriser cet ensemble de paramètres à chaque fois qu’une connexion est nécessaire.
Sommaire
Définition d’une connexion SSH
Si le fichier, ~/.ssh/config
n’existe pas, vous pouvez continuer et créer ceci maintenant. En règle générale, ce fichier existe dans un fichier .ssh
Répertoire « masqué », masqué uniquement parce que la plupart des systèmes d’exploitation ne montrent pas les répertoires précédés d’un .
. De plus, ce répertoire est généralement situé dans son répertoire personnel ou dans le répertoire personnel de l’utilisateur exécutant ssh, d’où ~
notation, signifiant le répertoire personnel.
Il est important de garder un œil sur les autorisations dans le .ssh
dossier. La plupart des clients SSH veulent que les fichiers soient en mode 600
dans ce dossier. Si vous faites référence à ce dossier à partir du sous-système Windows pour Linux, vous devez vous assurer de chmod 600 ~\.ssh\*
Alors, à quoi ressemble une simple connexion SSH dans ce fichier? Un exemple d’une configuration simple est ci-dessous.
Host my-ssh-host
HostName 10.0.0.5
Port 22
User myuser
Comme vous pouvez le constater à partir de la configuration ci-dessus, c’est à peu près aussi basique que possible. En fait, vous pouvez omettre le port car il n’est pas strictement nécessaire car 22
est le port SSH par défaut. En définissant cette connexion, sur la ligne de commande, nous pouvons simplement faire ce qui suit.
ssh my-ssh-host
La connexion demandera généralement un mot de passe, car une connexion SSH ne doit pas être non protégée.
Clés publiques / privées
Presque tous les didacticiels ou guides de configuration SSH disponibles font généralement référence à des clés publiques / privées à un moment ou à un autre. Il s’agit du moyen préféré pour configurer une connexion SSH. Au lieu d’un mot de passe pouvant être piraté ou deviné, il est nécessaire d’obtenir réellement le fichier de clé. Ce didacticiel ne décrit pas comment les créer. Supposons donc qu’un ensemble existe déjà et soit correctement configuré. Comment pouvons-nous dire à notre configuration hôte d’utiliser ce fichier?
Host my-ssh-host
HostName 10.0.0.5
Port 22
User myuser
IdentityFile ~/.ssh/id_ed25519_myuser
IdentitiesOnly yes
Il y a deux nouvelles commandes que nous avons introduites ici. le IdentityFile
et le IdentitiesOnly
commandes. Tout d’abord, nous devons dire à SSH où se trouve le fichier de clés, dans ce cas, nous avons stocké le fichier dans le fichier .ssh
répertoire (méfiez-vous des autorisations). Deuxièmement, nous avons défini une balise nommée IdentitiesOnly
. Cela indiquera à SSH de ne pas essayer tous les fichiers d’identité de ce dossier, mais uniquement celui défini. Par défaut, SSH parcourra et essaiera chaque fichier d’identité jusqu’à ce qu’il trouve le bon. Cela conduit souvent à un «Trop d’échecs d’authentification pour l’utilisateur myuser»Sur le serveur cible s’il y a beaucoup d’identités.
Configurations complexes
Il existe de nombreux scénarios que nous pourrions couvrir dans cet article, mais examinons quelques-uns courants et utiles.
ForwardAgent
Que se passe-t-il si vous avez un scénario dans lequel vous avez ouvert une connexion SSH à un serveur cible, qui doit ensuite établir une autre connexion SSH à un deuxième serveur à partir de ce serveur cible d’origine? Vous pourriez penser que vous devrez stocker ces mêmes clés SSH sur ce serveur cible pour effectuer ce prochain saut. Il y a une commande, bien nommée ForwardAgent
, qui vous permet de «transférer» vos clés locales au serveur suivant dans le tronçon.
Host my-ssh-host
HostName 10.0.0.5
Port 22
User myuser
IdentityFile ~/.ssh/id_ed25519_myuser
IdentitiesOnly yes
ForwardAgent yes
ProxyJump
Semblable à ForwardAgent
, il est souvent nécessaire d’ouvrir une connexion SSH secondaire directement via une première (ou seconde) cible. Souvent, cela est dû au fait qu’une machine peut être protégée par un pare-feu d’Internet en général, mais qu’elle a une connexion à une «boîte de connexion», qui permet ensuite d’ouvrir une connexion sur le serveur pare-feu. À partir de SSH version 7.3 et supérieure, le ProxyJump
commande nous permet d’accomplir facilement cela.
Host my-ssh-host
HostName 10.0.0.5
Port 22
User myuser
IdentityFile ~/.ssh/id_ed25519_myuser
IdentitiesOnly yes
ForwardAgent yes
ProxyJump myuser@10.0.0.6:22,myuser2@10.0.0.7:10005
Comme vu ci-dessus, il y a deux serveurs ici. Initialement, la connexion SSH ira à 10.0.0.5
mais ensuite ouvrir immédiatement une connexion à 10.0.0.6
, il ouvrira enfin une connexion en utilisant un autre utilisateur et un autre port pour 10.0.0.7
.
Tunnel proxy SSH
Et si vous avez besoin de configurer un tunnel SOCKSv5? Cela est assez facile en utilisant le fichier de configuration. Nous introduisons ici trois nouvelles commandes, DynamicForward
, ControlMaster
, et ControlPath
.
Host my-ssh-host
HostName 10.0.0.5
Port 22
User myuser
IdentityFile ~/.ssh/id_ed25519_myuser
IdentitiesOnly yes
DynamicForward 8080
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
le DynamicForward
La commande est le port que nous cherchons réellement à proxy via notre connexion SSH, tel que le port 8080
. ControlMaster
est réglé sur auto
, ce qui signifie que si une connexion existe, utilisez-la, mais sinon, créez-en une nouvelle. Finalement, le ControlPath
définit l’emplacement du fichier socket réel. Dans ce cas, il utilise le format de dénomination de %r@%h:%p
, ce qui correspond à myuser@10.0.0.5:22
dans ce cas de connexions.
Conclusion
Il y a beaucoup de puissance dans le fichier de configuration SSH. Des exemples beaucoup plus complexes peuvent être définis, en plus de la facilité de définir de nombreux hôtes différents dans un même emplacement. Ce faisant, non seulement les connexions à l’hôte sont bien documentées, mais elles permettent un accès rapide et facile sur la ligne de commande. Si vous choisissez de placer ce fichier sous contrôle de version, vous ajoutez la possibilité d’avoir un historique de fonctionnement de vos hôtes et de vous épargner un gros mal de tête à l’avenir. Comme vous pouvez le constater, le fichier de configuration SSH facilite la définition des hôtes SSH!
Un tutoriel en ligne pour savoir comment se connecte en SSH sur des PC
En ligne, les tutoriels se comptent par milliers et nous aident au quotidien à résoudre des problèmes. Si vous souhaitez savoir comment il est possible de se connecter en ssh sur Windows la réponse se trouve sur internet.
Vous avez la possibilité de découvrir un tutoriel complet pour Windows 10 et Windows Serveur afin de pouvoir vous connecter en SSH.
Pour rappel, derrière ces trois lettres se cachent deux mots : Secure Shell. C’est un programme informatique qui joue également le rôle de protocole de communication sécurisé. Il impose un échange de clés de chiffrement au début de la connexion, pour sécuriser les démarches. En toute sécurité, les utilisateurs peuvent dès lors accéder à distance à un ordinateur.
Les données sont donc sécurisées sur des réseaux considérés comme peu sûrs, ce qui est généralement le cas sur internet. Il donne par exemple la possibilité de déplacer des dossiers d’un ordinateur à un autre. C’est pourquoi la sécurité règne en maître. Et si vous ignorez comment vous connecter sur Windows, la réponse se trouve en ligne. Grâce aux tutoriels, vous n’aurez plus aucun problème et vous serez vite indépendant.