- Commandes Visual Studio Code
- Transfert de fichiers : FTP, ssh et dérivés (sftp, scp), rsync.
Maîtrise de son éditeur
Il est primordial de maîtriser son éditeur de texte afin d'être productif. Un investissement personnel est nécessaire.
Dupliquer la ligne courante avec Visual Studio Code peut se faire de plusieurs façons.
-
Amateur :
- Utiliser la souris pour mettre le pointeur de début de ligne
- Presser le bouton gauche, glisser jusqu'à la fin de ligne, relâcher
- Édition > Copier
- Cliquer sur la ligne suivante
- Édition > Coller
-
Un peu plus expérimenté (spécifique au texte sous Linux)
- Utiliser la souris pour mettre le pointeur de début de ligne
- Presser le bouton gauche, glisser jusqu'à la fin de ligne, relâcher
- Cliquer sur la ligne suivante avec le bouton du milleu
-
Expérimenté
- Amener le curseur sur la ligne concernée (au clavier ou à la souris)
CTRL + C
CTRL + V
-
Expert Visual Studio Code
CTRL + MAJ + ALT + UP
(ouDOWN
)
La dernière solution fait appel à la mémoire et demande un apprentissage. En contrepartie, elle fait gagner énormément de temps.
Il est donc extrêmement important de connaître et maîtriser les raccourcis des commandes principales pour les logiciels que vous utilisez constamment.
À vous de jouer : Parcourez la feuille fournie par l'enseignant pour découvrir les raccourcis utiles
Travailler à distance
Objectifs :
- lancer des commandes sur une machine distante où on a un compte
- ouvrir une session interactive
SSH, clés
SSH = Secure Shell. C'est en fait un protocole de communication sécurisé, qui établit un canal de communication sûr au travers d'un réseau qui ne l'est pas, notamment par l'usage de clés. Il repose sur la cryptographie asymétrique :
La cryptographie asymétrique, ou cryptographie à clé publique, est une méthode de chiffrement qui s'oppose à la cryptographie symétrique. Elle repose sur l'utilisation d'une clé publique (qui est diffusée) et d'une clé privée (gardée secrète), l'une permettant de coder le message et l'autre de le décoder. Ainsi, l'expéditeur peut utiliser la clé publique du destinataire pour coder un message que seul le destinataire (en possession de la clé privée) peut décoder, garantissant la confidentialité du contenu. Inversement, l'expéditeur peut utiliser sa propre clé privée pour coder un message que le destinataire peut décoder avec la clé publique ; c'est le mécanisme utilisé par la signature numérique pour authentifier l'auteur d'un message. (Wikipedia) La magie sera expliquée en cours de maths (cryptographie) et de réseau. Version SSH-1 en 1995, découverte vulnérable aux attaques en 1998, obsolète. SSH-2 en 2006. Les deux versions sont incompatibles.
La commande ssh
La commande ssh
permet d'ouvrir une session à distance sur une autre machine
$ ssh billaud@ssh.labri.fr
Password: .....
Depuis n'importe où, vous pouvez travailler sur une machine du département info-ssh1.iut.u-bordeaux.fr
ou info-ssh2.iut.u-bordeaux.fr
.
Note : sous Windows, utilisez putty
pour ouvrir une session ssh
.
Génération de clés, utilisation
Pour générer les clés, choisir d'abord une «passphrase» (qui peut être vide) et lancer la commande :
$ ssh-keygen -t rsa
qui créent les clés dans le répertoire .ssh
.
La commande précédente fabrique deux clés: une clé publique (suffixe id_rsa.pub
,
et une clé privée (sans suffixe).
La clé publique peut être ajoutée dans le fichier authorized_keys
d'une machine distante,
ce qui permettra de s'y connecter sans donner de mot de passe (si la passphrase est vide).
ssh-copy-id
le fait automatiquement :
$ ssh-copy-id rgiot@info-ssh1.iut.u-bordeaux.fr
Limites
Lorsque vous êtes connectés à une machine distante, si la connection réseau est coupée, la connection se termine tout comme les programmes distants qu'elle a lancés.
Pour éviter ce désagrément, il est nécessaire d'utiliser un multiplexeur de terminaux tel que screen
ou tmux
.
tmux
est installé sur info-ssh1.iut.u-bordeaux.fr
.
Raccourcis (https://doc.ubuntu-fr.org/tmux) :
Ctrl + b
suivi dec
: Créer un nouveau terminal dans la session tmux activeCtrl + b
suivi den
: Switcher entre les différents terminaux de la sessionCtrl + b
suivi deX
: Choisir un terminal spécifique (ou X est le numéro du terminal)Ctrl + b
suivi ded
: Se détacher de la session tmux (lancer 'tmux a
' pour s'y rattacher)Ctrl + b
suivi de,
: Permet de renommer un terminalCtrl + b
suivi dew
: Affiche la liste des terminaux disponiblesCtrl + b
suivi det
: Afficher l'heure dans un terminalCtrl + b
suivi de[
: Permet de scroller ligne/ligne (avec les fleches du clavier ou la souris) ou même page/page avec PgnUP et PgnDOWN, tapezq
pour quitter ce mode
Transferts de fichiers
Nécessité de transférer des fichiers d'une machine à l'autre (hors répertoires partagés), ou de télécharger des logiciels etc. Serveurs anonymes, accès par compte etc.
FTP
Vu au TP précédent.
FTP, File Transfer Protocol, est un protocole de transfert de fichiers. Par métonymie, FTP désigne aussi une famille de logiciels qui respectent se protocole.
ftp
historique, interactif, avec les commandes de baseput
,get
,cd
,ls
,mput
,mget
etc.- des versions interactives améliorées (
ncftp
, avec complétion, historique, signets etc). - des versions interactives graphiques (
gftp
,filezilla
, navigateurs ...) - des outils non interactifs. Exemple
ncftpget ftp://truc.org/pub/README.TXT
.
Le protocole FTP est également connu par les navigateurs Web (transfert en lecture seulement), avec des URL du type ftp://ftp.labri.fr
.
sftp
, scp
: commandes basées sur ssh
SSH (Secure Shell) est un protocole de communication sécurisée, sur lequel se basent plusieurs outils.
scp
Secure Copy, ressemble à la commande cp
. On peut préciser le nom de la machine (et le compte) où se trouve un fichier ou un répertoire.
$ scp -r billaud@ssh.labri.fr:COURS/USI-2012 ~/COURS
sftp
SSH FTP : dispose de commandes semblables à celle de FTP.
Les outils graphiques (FileZilla, etc) permettent souvent d'utiliser SFTP. Depuis l'extérieur,
passer par le serveur info-ssh1.iut.u-bordeaux1.fr
.
Attention, le nom SFTP est utilisé pour désigner plusieurs protocoles de transfert de fichiers.
- Ici il désigne SSH File Transfer Protocol
- il y a aussi Secure File Transfer Protocol
- et Simple File Transfer Protocol
Pour tout arranger, la page de manuel Linux de la commande sftp
indique par erreur "secure ftp".
rsync
Enfin, plusieurs outils permettent de synchroniser efficacement des répertoires d'une machine à une autre, en ne transférant que les fichiers modifiés.
Exemple, rsync
qui passe par ssh
:
$ rsync -avz --delete COURS billaud@ssh.labri.fr:ARCHIVES
- Copie le répertoire COURS dans le répertoire ARCHIVES du compte indiqué.
- option
-a
: récursivement, en mettant les copies à la même date de dernière modification (mode archivage). - option
-v
: en affichant les noms des fichiers transférés au fur et à mesure - option
-z
: en compressant les données - option
-delete
: en détruisant les fichiers d'ARCHIVES qui ne sont plus dans COURS.
Remarque : rsync
a un comportement différent sur la gestion de la source :
/
à la fin du dossier : le contenu du dossier est copié directement à la destination/
pas à la fin du dossier : le dossier (et son contenu) est copié dans la destination
Accès à vos fichiers IUT depuis votre machine personnelle
Pré-requis : sshfs
.
$ sudo apt install sshfs
Manipulation :
$ mkdir fichiers_iut # création d'un point de montage
$ sshfs votrelogin@info-ssh1.iut.u-bordeaux.fr:. fichiers_iut # montage
À vous de jouer : Vous avez accès à 2 machines: celle du TD et info-ssh1.iut.u-bordeaux.fr
.
- Connectez-vous à
info-ssh1
et créez une arborescence avec différents dossiers/fichiers - Sur votre poste de travail récupérez une copie de l'arborescence d'
info-ssh1
dans le dossier tmp - Changez quelques fichiers de l'arborescence sur
info-ssh1
- Rappatriez les modifications sur votre machine locale