SSH : Secure SHell
SSH est un protocole et un outil pour avoir accès à un shell à distance.
Un shell ?
Le shell (ou coquillage en français), c'est le programe le plus basique qu'il existe sur un ordinateur pour intéragir avec lui. Dans un shell, on utilise la démarche REPL pour communiquer avec l'ordinateur :
- Read
- Exectue
- Loop
Le but d'un shell est donc de lire du texte donné par l'utilisateur, puis d'executer les commandes demandées dans ce texte, et enfin d'écrire le résultat en sortie et recommencer la boucle.
Info
Python utilise aussi la démarche REPL lorsque vous lancez python3 et que vous écrivez du code après les ">>>"
SSH - Premières connections
Ainsi, SSH est un programme permettant d'interagir avec une machine à distance via un shell. Le programme est déjà installé sur la plupart des distributions Linux, sur Windows et sur MacOS. Pour l'utiliser, tapez simplement:
en remplaçant<utilisateur> par votre nom Agalan (par exemple bartolor pour BARTOLOmeo Ryan) et <ordinateur> par le nom de l'ordinateur utilisé, par exemple ensipc314.ensimag.fr si vous voulez utiliser l'ordinateur 314.
Et il y a des chances que ça ne fonctionne pas, puisque la machine n'est peut-être pas allumée. En effet, pour diminuer la consomation de l'établissement, les ordinateurs s'éteignent automatiquement si ils ne sont pas utilisés durant une certaine période, mais vous pouvez tout de même les allumer à distance
VPN
Attention !! il faut être connecté au VPN au préalable, sinon les machines ne sont pas accessibles !
Clef de sécurité GIT- Pour se connecter plus rapidement
Info
Plus de détails sur la page dédiée
Il peut vous sembler long et rébarbatif de devoir taper votre identifiant et votre mot de passe à chaque connection avec gitlab. Heureusement, vous pouvez abréger ce procesus en mettant en place des clefs de sécurité entre votre machine et le serveur gitlab de l'ENSIMAG. Pour cela, vous pouvez :
-
Créez une paire de clefs de sécurité sur votre machine :
-
Ajoutez la clef privée parmi les clefs de votre machine :
-
Puis ajouter la clef publique (visible en tapant
cat ~/.ssh/gitlab_ensimag.pub) sur gitlab pour vous identifier sur le serveur gitlab plus facilement.
Vous pouvez alors tester cette configuration via ssh -T gitlab.ensimag.fr
Attention à cloner via SSH
Pour vous identifier via ssh lors de la modification de repo gitlab, il faut avoir cloné le repo via ssh :
Ses amis SCP et SFTP
SCP
Vous pouvez facilement télécharger un fichier via la commande scp, pour Secure CP, commande la commmande GNU cp :
Ainsi, si vous voulez récupérer un document depuis vos sessions sur votre ordinateur: Et inversement, si vous voulez envoyer sur votre session un document depuis votre ordinateur:SFTP
Peu d'entre nous conaissent parfaitement les chemins de leurs fichiers par coeur sur une machine à distance, c'est pourquoi SFTP est là pour nous sauver !
Lancez simplement :
utilisateur est votre nom d'utilisateur Agalan. Vous tomberez alors sur une REPL de la forme :
Où vous pourrez taper help pour avoir la liste des commandes.
Celles qui nous interessent sont :
get: pour télécharger un fichier distant sur la machine localeput: pout envoyer un fichier distant depuis votre machine
SSH graphique
Vous pouvez ouvrir une session sur un ordinateur à distance et afficher l'écran sur votre ordinateur via ssh et remmania.
Cette page vous expliquera le truc.