Introduction

Pour apprendre à programmer en C, des serveurs de travail vous sont mis à disposition. La raison ? Ils offrent à tout le monde une configuration unique qui nous permet de gagner du temps, de nous concentrer sur l’apprentissage de la programmation et le développement de votre méthode de travail.

Cette annexe contient les instructions dont vous avez besoin pour vous connecter à ses serveurs de travail en SSH.

Rassurez-vous, les instructions ne sont pas difficiles à suivre, mais chaque année des étudiants font des erreurs parce qu’ils ne les ont pas lues.

Qu’est-ce que le SSH

Le SSH, c’est un mécanisme qui permet la connexion à une machine, souvent de façon textuelle dans le terminal.

  • En administration système, c’est très pratique pour administrer des serveurs Linux.
  • En cybersécurité, c’est une surface d’attaque.
  • En développement logiciel, c’est très pratique pour travailler depuis un serveur de développement.
    • Une personne peut développer sur son serveur pour éviter d’avoir à configurer ses différents ordinateurs.
    • Une équipe peut partager un serveur de développement pour s’assurer que tout le monde travaille ou test dans les mêmes conditions.
    • Une personne ou une équipe peut utiliser des serveur de développement pour faciliter le travail sur plusieurs instance d’un même projet, laisser des tâches longues fonctionner en arrière plan, laisser des intelligences artificielles travailler en arrière plan.

On peut ouvrir une connexion SSH depuis un terminal.

Étapes

1. Installation d’un terminal

Si vous êtes sur Windows assurez-vous d’avoir Windows Terminal d’installé sur votre ordinateur. Dans votre menu démarrer, tapez “terminal” et vous devriez la voir dans les résultats. De nos jours, sur Windows 11 vous ne devriez pas avoir besoin de l’installer.

Une fois lancé, assurez-vous que vous êtes sur un onglet PowerShell ou alors ouvrez-en un grâce à la flèche descendante à côté du “+”.

Pasted image 20260429101855.png

Il s’agit d’un shell installé par défaut sur Windows qui fonctionne avec des commandes proches de celles que l’on trouve sur Linux et les systèmes UNIX.

Ainsi les commandes suivantes ne devrait pas vous poser trop de problèmes :

  • ls affiche le contenu du dossier courant ;
  • mkdir nom_du_dossier crée un nouveau dossier avec le nom de votre choix ;
  • cat affiche le contenu d’un fichier sur votre terminal ;
  • mv nom_source nom_destination renomme ou déplace un fichier ;
  • rm nom_du_fichier supprime un fichier ;
  • notepad nom_du_fichier ouvrir un éditeur de fichier dans une autre fenêtre.

2. Installer OpenSSH

Dans votre terminal, essayez la commande ssh. Si le résultat ressemble à l’image qui suis, vous pouvez passer cette étape.

Pasted image 20260429102041.png

Autrement, activez le client OpenSSH dans :

  • Paramètres/Applications/Fonctionnalités facultatives ; ou
  • Settings/Apps/Optional features

Capture d'écran 2023-10-09 153541.png

3. Paramétrez OpenSSH

Dans votre dossier personnel (celui dans lequel le terminal s’ouvre par défaut), créez un dossier .ssh avec la commande :

mkdir .ssh

Déplacez vous dans le dossier que vous venez de créer :

cd .ssh

Créez un fichier config :

notepad config

Écrivez-y les configurations suivantes, en insérant votre nom d’utilisateur à la place de votre_login

# configuration interne pour se connecter dans l'école
Host equinox
        HostName 172.17.250.102
        User votre_login
        Port 22

# configuration pour se connecter depuis l'exterieur
Host students
        HostName session.ecole-89.com
        User votre_login
        Port 4423

Sauvegardez et quittez notepad. Il aura surement ajouté .txt à la fin du nom de votre fichier, donc renommez le ainsi :

mv config.txt config

Testez votre configuration en faisant :

ssh equinox

Tapez votre mot de passe, et vous devriez voir quelque chose de similaire à ceci :

Pasted image 20231011152414.png

Vous pouvez vous déconnecter du serveur en tapant exit.

Optionnel

Personnalisation de la Police d’écriture

En tant que développeurs il arrive que l’on ai besoin de caractères en plus de ceux qui sont dans les fontes installée par défaut.

Pour se prémunir de tout problème d’affichage, choisissez, téléchargez et installez une police d’écriture depuis le site de Nerd Font.

  1. choisissez la police qui vous plait le plus ;
  2. téléchargez-là ;
  3. extrayez-là ;
  4. sélectionnez tous les fichiers .otf ou .ttf, faites un clique-droit et cliquez sur installer.

Enfin pour utiliser la police dans Windows Terminal :

  1. allez dans paramètres (ou settings)
  2. dans le menu allez dans profile, par défaut (by default)
  3. allez dans appearance
  4. dans police d’écriture (ou font face) sélectionnez la police que vous venez d’installer.

Connexion sans mot de passe

Vérifiez si vous avez des clés SSH

Vérifiez si sur votre ordinateur vous avez des clés SSH. Pour ce faire, vous ne devez pas être connecté en SSH : votre prompt doit commencer par PS si vous êtes sur Windows.

Faites :

ls ~/.ssh/

Si vous avez un résultat comme celui-ci, avec des fichiers id_ed25519 et id_ed25519.pub, ou id_rsa et id_rsa.pub, alors vous avez déjà des clés SSH.

Pasted image 20260429103313.png

Si vous n’avez pas de tels fichiers, faites la commande ssh-keygen et appuyez sur entrée chacune des questions que vous pose le programme.

Enfin, que vous veniez de générer les clés ou nom, faites un cat du fichier en .pub et copiez son contenu avec ctrl+shift+c.

Ajout de la clé publique en clé autorisée

Connectez vous au serveur avec la commande ssh equinox.

Faites la commande mkdir -p ~/.ssh

Faites la commande nano ~/.ssh/authorized_keys et collez avec ctrl+shift+v la clé que vous avez copié.

Sauvegardez le fichier avec ctrl+o suivi d’entrée. Quittez nano avec ctrl+x.

Déconnectez-vous du serveur avec la commande logout.

Enfin essayez de vous connecter à nouveau au serveur avec la commande ssh equinox. Elle ne devrais pas vous demander de mot de passe.