SSH ou Secure SHell est un protocole de connexion crypté qui est utilisé pour se connecter à l'interface en ligne de commande sur une machine distante. MacOS dispose d'un client SSH intégré appelé Terminal qui vous permet de se connecter rapidement et facilement à un serveur via une connexion à distance. SSH utilise le port TCP 22 par défaut, bien que cela puisse être changé en un port non standard. Le processus SSH utilise des clés SSH composées d'une clé privée et d'une clé publique. La demande de connexion à distance utilise le fichier de clé privée et la clé publique pour former une connexion cryptée entre les deux ordinateurs.
Cette communication sécurisée, utilisant SSH, utilise le cryptage symétrique, le cryptage asymétrique et le hachage afin de connecter en toute sécurité le client au serveur distant. La première fois que vous vous connectez au serveur, il vous sera demandé de vérifier la clé publique du serveur. Lors de futures connexions, le client fera référence à cette clé publique vérifiée pour s'assurer que vous vous connectez toujours au même serveur en faisant référence au fichier "hôtes connus". Le client et le serveur négocient une clé de session qui est utilisée pour chiffrer et décrypter les données envoyées lors de la connexion SSH. Enfin, le serveur authentifie le client à l'aide d'une clé SSH (si disponible et utilisée).

Pour cet article, j'utiliserai 2 Mac Mini. Le premier Mac Mini sera considéré comme la machine local avec laquelle je me connecte au deuxième Mac Mini. Soit la machine distante.


Mac Mini local.



Mac Mini distant.

A partir de la machine local, ouvrir une fenêtre du terminal et écrire la commande suivante :
sh-keygen -t rsa -b 4096

-t rsa : spécifie le type de clé (RSA)
-b 4096 : indique la longueur de la clé

Préciser le chemin d'enregistrement des clés de chiffrement.
terminal 1


Préciser une phase qui fera office de contrôle.
terminal 2


C'est terminé. Les fichiers ont été créés et placés à partir du dossier Utilisateur dans un sous dossier .ssh.
terminal 3


Vérification de la présence des fichiers dans le dossier.
terminal 4 bis

La clé privée (id_rsa) ainsi que la clé publique (id_rsa.pub) ont été créées avec succès.

Toujours à partir de la machine locale, afficher le contenu de la clé publique que vous venez de créer en exécutant la commande suivante :
cat ~/.ssh/id_rsa.pub

terminal 5

Sélectionner la clé puis effectuer un copier.
terminal 6

Sur la machine distante, créez le dossier .ssh dans le dossier de l'utilisateur avec la commande suivante :
mkdir -p ~/.ssh

terminal 7

Créer ensuite un fichier nommé "authorized_keys" avec la commande suivante :
touch ~/.ssh/authorized_keys

terminal 8

Edition du fichier créé avec la commande suivante :
sudo nano ~/.ssh/authorized_keys


Saisir le mot de passe

Copier ensuite la clé publique à l'intérieur du fichier.
terminal 9

Sauvegarde du fichier avec Ctrl + X

A partir de la machine locale, on effectue en test de connexion avec la commande suivante :
ssh nomd'utilisateur@adresse_IP

Si tout fonctionne correctement, la machine distante ne demandera pas de mot de passe. Cependant, si vous avez défini, comme moi, une phrase de contrôle, elle vous sera demandée à chaque tentative de connexion. Donc, saisir la phrase et valider.
terminal 10

Vous voilà connecté sur la machine distante.
terminal 11