Transfert de fichiers

Avec scp

Depuis le réseau de l'École

  • Copie depuis votre poste de travail, vers allo-psmn :
scp fichier1 votrelogin@allo-psmn:~/fichier2
 
scp chemin1/fichier1 votrelogin@allo-psmn:~/chemin2/fichier2

Vous devez ensuite donner votre mot de passe, sauf si vous utilisez un agent SSH.

  • Copie depuis allo-psmn vers votre poste de travail
scp votrelogin@allo-psmn:~/fichier1 fichier2
 
scp votrelogin@allo-psmn:~/chemin1/fichier1 chemin2/fichier2

Vous devez ensuite donner votre mot de passe, sauf si vous utilisez un agent SSH.

Depuis l'extérieur du réseau de l'École

  • Copie (fichier1 → fichier2) depuis votre poste de travail, vers allo-psmn (via ssh.psmn) :
scp -oProxyCommand="ssh votrelogin@ssh.psmn.ens-lyon.fr netcat -w1 allo-psmn %p" fichier1 votrelogin@allo-psmn:~/fichier2
 
scp -oProxyCommand="ssh votrelogin@ssh.psmn.ens-lyon.fr netcat -w1 allo-psmn %p" chemin1/fichier1 votrelogin@allo-psmn:~/chemin2/fichier2
  • Copie (fichier1 → fichier2) depuis allo-psmn vers votre poste de travail (via ssh.psmn) :
scp -oProxyCommand="ssh votrelogin@ssh.psmn.ens-lyon.fr netcat -w1 allo-psmn %p" votrelogin@allo-psmn:~/fichier1 fichier2
 
scp -oProxyCommand="ssh votrelogin@ssh.psmn.ens-lyon.fr netcat -w1 allo-psmn %p" votrelogin@allo-psmn:~/chemin1/fichier1 chemin2/fichier2

Vous pouvez simplifier ces commandes, en utilisant un fichier de configuration SSH multihop. Ce fichier vous servira aussi si vous souhaitez utiliser sshfs ou rsync.

Avec sftp

Depuis le réseau de l'École

Vous devez d'abord ouvrir une session sftp :

sftp votrelogin@allo-psmn

La réponse est : Connecting to allo-psmn…

Vous devez ensuite donner votre mot de passe.

sftp> pwd

Remote working directory : /home/votrelogin

sftp>

Pour le transfert dans un sens ou dans l'autre, il faut utiliser les commandes “put” ou “get” dans la session sftp.

Depuis l'extérieur du réseau de l'École

Il faut compléter la commande de base comme suit :

sftp -oProxyCommand="ssh votrelogin@ssh.psmn.ens-lyon.fr nc allo-psmn %p" votrelogin@allo-psmn

Avec rsync

Depuis le réseau de l'École

  • Copie depuis votre poste de travail, vers /home/votrelogin/targetdir/ au PSMN :

Vous avez besoin d'une configuration de tunnel SSH (voir ~/.ssh/config)

Exemple avec la frontale dl175comp :

  • ~/.ssh/config
Host dl175comp
  User <votrelogin>
  Hostname dl175comp
  ProxyCommand ssh <votrelogin>@allo-psmn.psmn.ens-lyon.fr netcat -w1 %h %p
  • commande rsync
rsync -avz -4 --ignore-errors --delay-updates -e ssh ./sourcedir <votrelogin>@dl175comp:~/targetdir/

D'autres frontales sont disponible dans cette liste.

Consultez le man de rsync pour d'autres options utiles (dry-run, human-readable, progress…).

Depuis l'extérieur du réseau de l'École

  • Il faut compléter la définition des tunnels SSH :
# passerelle externe
Host allo-externe
  User <votrelogin>
  ProxyCommand ssh <votrelogin>@ssh.psmn.ens-lyon.fr netcat -w1 allo-psmn %p
 
Host dl175comp-ext
  User <votrelogin>
  Hostname dl175comp
  ProxyCommand ssh <votrelogin>@allo-externe netcat -w1 %h %p
  • commande rsync

vers la frontale telle qu'elle est définie dans ls fichier de configuration : dl175comp-ext

rsync -avz -4 --ignore-errors --delay-updates -e ssh ./sourcedir <votrelogin>@dl175comp-ext:~/targetdir/

Avec sshfs

Vous devez utiliser une configuration multi-hop : fichier de configuration SSH multihop.

Exemple :

~/.ssh/config
 
Host *
  TCPKeepAlive yes
  ForwardAgent yes
  ForwardX11 yes
 
Host allo-psmn-multihop
  User ltaulell
  ProxyCommand ssh -qt ltaulell@ssh.psmn.ens-lyon.fr allo-psmn 22
# verbose (debug):
  #ProxyCommand ssh -v ltaulell@ssh.psmn.ens-lyon.fr allo-psmn 22
 
Host multihop-psmn
  User ltaulell
  Hostname x5570comp1
  ProxyCommand ssh -qt ltaulell@allo-psmn-multihop netcat -w1 %h %p
  • Je monte mon home PSMN :
ltaulell@xt3:~$ mkdir -p mnt/home-psmn
ltaulell@xt3:~$ sshfs multihop-psmn:/home/ltaulell /home/ltaulell/mnt/home-psmn/

Pour démonter : fusermount -u ~/mnt/home-psmn/

  • Je monte le partage d'équipe (ici, ondesint) :
ltaulell@xt3:~$ mkdir -p mnt/equipe-psmn
ltaulell@xt3:~$ sshfs multihop-psmn:/Xnfs/ondesint /home/ltaulell/mnt/equipe-psmn/

Pour démonter : fusermount -u ~/mnt/equipe-psmn/

Depuis Windows

Depuis un poste de travail Windows©, utilisez la combinaison d'outils PuTTY / WinSCP.

documentation/tutorials/copie.txt · Dernière modification: 2019/06/20 17:59 par ltaulell