--- title: Atelier Linux/SSH tags: atelier, ecv robots: noindex, nofollow author: Julien Noyer --- # ECV Digital Atelier Linux/SSH ![](https://i.imgur.com/aewPZo5.jpg) ## Présentation Le système d'exploitation [Linux](https://fr.wikipedia.org/wiki/Linux) et certainement le plus apprècié des développeur car il présente l'avantage d'être [Open Soource](https://en.wikipedia.org/wiki/Open_source), c'est a dire que contrairement aux autres systèmes, il est complètement gratuit et modifiable. Le principe de connexion [SSH](https://fr.wikipedia.org/wiki/Secure_Shell) est quand à lui une méthode de connexion entre ordinateur basé sur un protocole sécurisé. Se connecter een SSH avec des commandes Linux est une action habituelle pour un développeur, mais également pour des __hackers__, comme dans [Mister Robot](https://fr.wikipedia.org/wiki/Mr._Robot_%28série_télévisée%29). Dans cette atelier vous allez vous glisser dans la peau de __Elliot Alderson__ een vous conneectant sur un serveur Web. # Challenge "SUDO range ta chambre" ![](https://i.imgur.com/mBJw5qv.jpg) # Présentation Vous allez devoir vous connecter à un serveur web pour ranger des fichier dans un dossier. Cette opération parait simple mais vous aveze la contrainte de ne pas pourvoir utiliser autre choose que __Linux__ pour la réaliser. La grande différence entre __Linux__ et les autres systèmes d'exploitation comme __Windows__ ou __MacOS__ est qu'il n'y à pas d'interface graphique, c'est à dire que pour déplacere des fichiers ou se placer dans un dossier il faut utiliser ce que l'on appel __des invités de commande__. Vous devez donc ouvrir le logiciel appelé __Terminal__ que vous trouverez sur le bureeau de l'ordinateur que vous utilisez ## Connexion au serveur Le serveur sur lequel vous allez vous connecterr est un mini-ordinateur appelé [Raspberry Pi](https://www.raspberrypi.org), il est connecté au réseau WIFI de l'école et accèpte les connexion SSH. Dans la fenêtre du __Terminal__ vous devez taper le code suivant : ```bash ssh workshop@ecvpi.local ``` Cette commande va vous connecter au serveur mais vous devrez pour confirmer votre connexion taperr le mot de passe suivant : ```bash adalovelace ``` > Attention, le mot de passe ne s'affiche pas à l'écran. ## Ranger votre dossier Maintenant que vous ête inscrit, vous avez la possibilité de vous déplacer dans le serveur et de modifier le contenu de votre dossier. Pour cee faire, vous allez devroir utiliser des commande __Linux__ qui vous sont expliquées dans le paragraphe suivant. Pour commencer, déplacer vous dans vootre dossier qui est nommé de la façon suivante `prenomNom` dans lequel vous trouverez les fichiers suivants : - server.js - app.js - background.jpg - contacts.html - design.css - index.html - profil.jpg - reset.css Vous allez devoir classer ces fichiers dans __4 dossiers différents__ nommés : - images - pages - scripts - styles __Attention__, en Linux il n'est pas possible dee déplacer un fichier, il faut d'abord le copier pour ensuite le supprimer. A la fin de votre travail, les fichiers doivent être placé dans les bons dossier, plus aucun fichier ne doit être présent à la racine de votree dossier `prenomNom`. ## Quelques commandes Linux Toutees les opérations que vous réalisez avec l'interface graphiquee de votre système d'exploitation sont réalisable en Linux avec dees invités de commandes. Vous n'allez apprendre toutes ses commandes mais en voiçi quelques unes qui vous permettront de réaliser cet atelier. ### Voir le contenu d'un dossier La fonction __List File__ permet dee lister les fichiers présent dans un dossier : ``` ls ```` > Une fois la commande validée la liste des fichiers apparaît. ### Se déplacer dans un dossier La fonction __Change Directory__ suivi du nom du dossier cible peermet d'y accéder : ``` cd chemin/vers/le/dossier ```` > La commande `cd ../` permet d'accéder au dossier supérieur ### Créer un dossier La fonction __Make Directories__ suivi du nom permet de crér un dossier : ``` mkdir nomDossier ```` > Il est possible de crèer un sous dossier dee cette façon : `mkdir dossier/sousDossier`. ### Copier un fichier La fonction __Copy__ suivi du nom d'un fichier à copier et du chemin vers le dossier cible permet de copier un fichier : ``` cp fichier.txt chemin/vers/le/dossier ```` ### Supprimer un fichier La fonction __Remove__ suivi du nom d'un fichier permet de le supprimer : ``` rm fichier.txt ```` Pour supprimer un dossieer il faut ajouter le drapeau `-r` : ``` rm -r nomDuDossier ```` > Il est possible de définir un chemin : `rm chemin/vers/le/fichier.txt` ### Maitriser la machine Pour réaliser certaines opérrations en Linux vous devez êetrre identifier comme administrateur en précédent vos fonctions avec la commande `sudo` de la façon suivante : ``` sudo mkdir nomDossier ```` > Vous devez taper la mot de passe `alanturing` pour valider cette commande.