Secure Shell, communément appelé SSH, constitue un moyen ultra-sécurisé de communiquer avec des ordinateurs distants, appelés serveurs. C’est comme un tunnel secret sur Internet qui assure la sécurité et la confidentialité de vos conversations. Imaginez que vous envoyez une lettre et qu’au lieu de l’envoyer ouvertement, vous la mettez dans une enveloppe magique que seuls vous et la personne à qui vous l’envoyez pouvez ouvrir. C'est ce que fait SSH pour vos discussions informatiques.
Cet article est là pour aider les débutants, ceux qui débutent dans ce domaine, à comprendre comment utiliser SSH. Nous allons vous montrer les étapes à suivre pour utiliser une commande spéciale (pensez-y comme une poignée de main secrète) pour connecter votre ordinateur à un serveur éloigné dans le monde Linux. À la fin de ce guide, vous serez plus à l’aise dans l’utilisation de SSH pour que votre ordinateur communique en toute sécurité lorsque vous traitez avec ces serveurs distants.
Qu’est-ce que SSH ?
SSH, ou Secure Shell, constitue un protocole réseau cryptographique conçu pour permettre une communication sécurisée entre deux systèmes sur des réseaux qui peuvent ne pas être sécurisés. Ce protocole est largement utilisé pour l'accès à distance aux serveurs et la transmission sécurisée de fichiers entre ordinateurs. Essentiellement, SSH agit comme un conduit sécurisé, établissant un canal de communication confidentiel dans les scénarios où le réseau peut présenter des risques de sécurité. Cette technologie est essentielle pour les professionnels qui recherchent une méthode fiable et sécurisée pour gérer des serveurs et transférer des données sensibles entre ordinateurs de manière contrôlée et protégée. ssh s'exécute sur le port TCP/IP 22.
Syntaxe de la commande SSH sous Linux
La syntaxe de base pour utiliser la commande SSH est la suivante :
ssh [username]@[hostname or IP address]>
Ici,
Remplacer[> username> ]>avec le nom d'utilisateur de votre serveur distant, et[> hostname or IP address> ]>avec le nom d’hôte ou l’adresse IP du serveur.
algorithme kmp
Conditions préalables
Avant de se lancer dans le monde de SSH, il est essentiel de s’assurer que certains prérequis sont réunis. Voici une liste de contrôle pour garantir une connexion fluide :
- État de l'ordinateur distant :
- Assurez-vous que l'ordinateur distant est allumé et dispose d'une connexion réseau active. SSH repose sur la connectivité réseau et le serveur distant doit être accessible.
- Informations d'identification :
- Obtenez l'adresse IP ou le nom de la machine distante. Ces informations sont cruciales pour diriger votre connexion SSH vers le bon serveur.
- L'autorisation d'accès:
- Assurez-vous que vous disposez des autorisations nécessaires pour accéder à l'ordinateur distant. Cela implique généralement d'avoir un nom d'utilisateur et un mot de passe valides pour le serveur distant.
- Paramètres du pare-feu :
- Vérifiez les paramètres du pare-feu sur votre ordinateur local et sur le serveur distant. Les connexions SSH utilisent un port spécifique (généralement le port 22), il est donc crucial de vous assurer que votre pare-feu autorise le trafic SSH. Des ajustements peuvent être nécessaires pour permettre une communication sécurisée.
Installer le composant SSH sous Linux
La configuration de SSH sous Linux peut être nécessaire, car certaines distributions ne le contiennent pas préinstallé. L'installation d'OpenSSH, une implémentation SSH largement utilisée, ou le choix d'une solution d'interface utilisateur graphique (GUI) comme le client PuTTY pour Ubuntu peuvent résoudre ce problème. Voici un guide étape par étape sur l’installation et la configuration d’OpenSSH côté client et côté serveur :
L'installer sur le client et le serveur
Pour les systèmes basés sur Debian/Ubuntu, ouvrez le terminal et exécutez :
sudo apt install openssh-client openssh-server>
Pour les systèmes basés sur Red Hat comme CentOS ou Fedora, utilisez l'une des commandes suivantes :
différence de date Excel
sudo dnf install openssh-clients openssh-server>
ou
sudo yum install openssh-clients openssh-server>
Note : Pour vérifier l'état du serveur en cours d'exécution après l'installation, nous pouvons utiliser cette commande systemctl status sshd
Si le service n'est pas en cours d'exécution, exécutez-le avec la commande suivante :
sudo systemctl start sshd>La commande n'imprime pas de sortie.
Pour que le service démarre automatiquement au démarrage, exécutez :
sudo systemctl enable sshd>Activation du chut le service le démarre pendant le processus de démarrage.
Comment utiliser SSH pour se connecter à un serveur distant sous Linux
Dans cet exemple, nous accédons Ubuntu ou Red Hat Linux machine via l'invite de commande Windows en utilisant `ssh`
Internet utilisant
Par exemple : si notre adresse IP est 10.143.90.2 et que le nom d'utilisateur est Jayesh
Syntaxe pour utiliser ssh pour se connecter à un serveur distant :
ssh [email protected]>
Ajoutez votre nom d'utilisateur à la place de Jayesh et ajoutez votre adresse IP au lieu du 10.143.90.2
ssh vers le système Linux depuis Windows
La commande se compose de 3 parties différentes :
- commande ssh demande au système d'établir une connexion sécurisée cryptée avec la machine hôte.
- nom d'utilisateur représente le compte auquel on accède sur l'hôte.
- hôte fait référence à la machine qui peut être un ordinateur ou un routeur auquel on accède. Il peut s'agir d'une adresse IP (par exemple, 192.168.1.24) ou d'un domaine, par exemple www.domainname.com).
Note: Une fois connecté à l'ordinateur hôte, les commandes fonctionneront comme si elles avaient été écrites directement sur le terminal hôte. L'utilisation d'une paire de clés publique-privée ou d'une paire de clés SSH pour se connecter à l'hôte distant est plus sécurisée que l'utilisation de mots de passe.
Comment créer des clés publiques-privées ?
Pour générer clés publiques-privées utilisez la commande :
ssh-keygen>

ssh-keygen
La clé privée doit rester cachée tandis que la clé publique doit être copiée sur l'hôte distant. Après avoir copié la clé publique sur l'hôte distant, la connexion sera établie à l'aide des clés SSH et non du mot de passe.
Options disponibles en ssh
Note: Ici, au lieu de l'utilisateur et de l'hôte, ajoutez le nom d'utilisateur et l'adresse IP auxquels vous souhaitez vous connecter. Et localhost est l'adresse IP de notre système local.
| Possibilités | Description | Syntaxe |
|---|---|---|
| -1 | Force ssh à utiliser uniquement le protocole SSH-1. | ssh -1 user@host> |
| -2 | Force ssh à utiliser uniquement le protocole SSH-2. | ssh -2 user@host> |
| -4 | Autorise uniquement les adresses IPv4. | ssh -4 user@host> |
| -6 | Autorise uniquement les adresses IPv6. | ssh -6 user@host> |
| -UN | Le transfert de connexion de l’agent d’authentification est activé. | ssh -A user@host> |
| -un | Le transfert de connexion de l’agent d’authentification est désactivé. | ssh -a user@host> |
| -C | Compresse toutes les données (y compris stdin, stdout, stderr et les données des connexions X11 et TCP transférées) pour un transfert de données plus rapide. | ssh -C user@host> |
| -c | Sélectionne la spécification de chiffrement pour chiffrer la session. Un algorithme de chiffrement spécifique ne sera sélectionné que si le client et le serveur le prennent en charge. | ssh -c aes256-cbc user@host> |
| -F | Demande à ssh de passer en arrière-plan juste avant l'exécution de la commande. | ssh -f user@host command> |
| -g | Permet aux hôtes distants de se connecter aux ports transférés locaux. | ssh -g -L 8080:localhost:80 user@host> |
| -n | Empêche la lecture depuis stdin. | ssh -n user@host command> |
| -p | Port auquel se connecter sur l’hôte distant. | ssh -p 2222 user@host> |
| -q | Supprime toutes les erreurs et avertissements | ssh -q user@host> |
| -DANS | Affichez le numéro de version. | ssh -V> |
| -dans | Mode verbeux. Il fait écho à tout ce qu'il fait lors de l'établissement d'une connexion. C’est très utile pour le débogage des échecs de connexion. | ssh -v user@host> |
| -X | Active le transfert X11 (GUI Forwarding). | ssh -X user@host> |
Le T trois principales techniques de cryptage Utilisé par SSH.
SSH est nettement plus sécurisé que les autres protocoles tels que telnet en raison du cryptage des données. Il y a trois techniques de cryptage majeures utilisé par SSH :
- Cryptage symétrique : Ce cryptage fonctionne sur le principe de la génération d'une clé unique permettant de crypter ainsi que de déchiffrer les données. La clé secrète générée est distribuée entre les clients et les hôtes pour une connexion sécurisée. Le chiffrement symétrique est le chiffrement le plus élémentaire et fonctionne mieux lorsque les données sont chiffrées et déchiffrées sur une seule machine.
- Cryptage asymétrique : Ce cryptage est plus sécurisé car il génère deux clés différentes : Clé publique et Clé privée. Une clé publique est distribuée aux différentes machines hôtes tandis que la clé privée est conservée en toute sécurité sur la machine client. Une connexion sécurisée est établie à l'aide de cette paire de clés publique-privée.
- Hachage : Le hachage unidirectionnel est une technique d'authentification qui garantit que les données reçues ne sont pas altérées et proviennent d'un véritable expéditeur. Une fonction de hachage est utilisée pour générer un code de hachage à partir des données. Il est impossible de régénérer les données à partir de la valeur de hachage. La valeur de hachage est calculée du côté de l’expéditeur ainsi que du côté du destinataire. Si les valeurs de hachage correspondent, les données sont authentiques.
Questions fréquemment posées sur la commande `ssh` sous Linux.
1) Que signifie SSH ?
SSH signifie Secure Shell.
2) À quoi sert SSH ?
SSH est utilisé pour se connecter en toute sécurité à un système ou un serveur distant. Il peut être utilisé pour transférer des données entre deux systèmes connectés.
Java est vide
3) Sur quel port SSH fonctionne-t-il ?
SSh s'exécute sur le port TCP/IP 22.
4) Comment pouvons-nous accéder à une machine Linux via l'invite de commande Windows en utilisant SSH ?
Nous pouvons accéder à une machine Linux via la commande Windows en utilisant SSH
syntaxe:
format de chaîne Java
ssh user_name@host(IP/Domaimn_name)>
5) Comment pouvons-nous créer des clés publiques-privées en utilisant SSH ?
En utilisant SSH en utilisant la commande
ssh-keygen>
6) Quelles sont les trois principales techniques de chiffrement utilisées par SSH ?
Les trois principales techniques de chiffrement utilisées par SSH sont :
- Cryptage symétrique
- Cryptage asymétrique
- Hachage
(Expliqué dans le contexte ci-dessus)
7) Comment utiliser SSH pour me connecter à un serveur distant sous Linux ?
Remplacer ` username`> avec votre nom d'utilisateur actuel et ` remote_server_ip`> avec l'adresse IP ou le domaine du serveur distant.
ssh username@remote_server_ip>
8) Quelle est la commande SSH pour se connecter à un serveur avec un port spécifique ?
Cette commande se connecte au serveur distant à l'aide du port 2222. Ajustez le numéro de port si nécessaire.
ssh -p 2222 username@remote_server_ip>
9) Comment c et j'utilise SSH pour transférer des fichiers entre ma machine locale et un serveur distant ?
Utilisation de SCP pour le transfert de fichiers. Cette commande copie en toute sécurité le fichier local vers la destination spécifiée sur le serveur distant. Ajustez les chemins et les noms des fichiers en conséquence.
scp local_file.txt username@remote_server_ip:/path/to/destination/>
Conclusion
Dans cet article, nous avons discuté de Secure Shell (SSH), qui est comme un tunnel secret et sécurisé permettant aux ordinateurs de communiquer en toute sécurité sur Internet. Ce guide s'adresse aux débutants et les aide à utiliser SSH pour connecter leur ordinateur à des serveurs éloignés du monde Linux. Il couvre tout, de la commande SSH de base aux conditions préalables telles que la vérification de votre connexion Internet et l'obtention des autorisations appropriées. Vous apprendrez comment installer SSH sur Linux, créer des clés sécurisées et les utiliser pour des connexions plus sécurisées. L'article comprend également des questions fréquemment posées avec des réponses simples, garantissant que vous pouvez gérer en toute confiance et en toute sécurité les serveurs distants à l'aide de SSH sous Linux. C’est comme donner un code secret à votre ordinateur pour parler en toute sécurité sur Internet !