web-dev-qa-db-fra.com

Comment copier des fichiers d'une machine à une autre à l'aide de ssh

J'utilise une machine Linux (centos), je me suis déjà connecté à l'autre système en utilisant ssh. Maintenant, ma question est de savoir comment copier des fichiers d'un système vers un autre système?

Supposons que, dans mon environnement, j'ai deux systèmes comme System A et System B. J'utilise System A machine et quelques autres utilisant System B machine.

Comment puis-je copier un fichier de System B à System A? Et copiez un fichier de System A à System B?

767
user3021349

Syntaxe:

scp <source> <destination>

Pour copier un fichier de B vers A tout en étant connecté à B:

scp /path/to/file username@a:/path/to/destination

Pour copier un fichier de B vers A tout en étant connecté à A:

scp username@b:/path/to/file /path/to/destination
1107
DopeGhoti

Au cas où vous auriez besoin d'une approche alternative.

Installez sshfs. si vous utilisez ubuntu/debian:

Sudo apt-get install sshfs

ou, si vous utilisez centos/rhel:

Sudo yum install Fuse-sshfs

ou, sous macOS

brew install sshfs

Créer un répertoire vide

mkdir /home/user/testdir

"lier" ou "monter" les deux répertoires

sshfs [email protected]:/remote/dir /home/user/testdir

"dissocier" les dirs

fusermount -u /home/user/testdir

Sur BSD et macOS, pour démonter le système de fichiers:

umount mountpoint

ou

diskutil unmount mountpoint

Pour plus d'informations, voir ici, linuxjournal.comlibfuse/sshfs

120
Ruban Savvy

Parfois, vous devez vous faire plaisir avec le goudron:

tar -C / -cf - \
  opt/widget etc/widget etc/cron.d/widget etc/init.d/widget \
  --exclude=opt/widget/local.conf | 
  ssh otherhost tar -C / -xvf -
50
Dan Garthwaite

Si vous souhaitez synchroniser les fichiers sur les deux systèmes, jetez un œil au programme rsync:

(voir le tutoriel ici)

23
Kiffin