Comment utiliser ssh pour transférer des fichiers d'un ordinateur vers un ordinateur local

10

J'essaie d'obtenir des fichiers de mon compte Linux de l'école en utilisant ssh. J'ai la connexion pour travailler en utilisant:

scp <school_server>: ~/folder I want ~/where I want to go.

Mais quand il va transférer le dossier, il me donne le message:

not a regular file

Le fichier contient des fichiers .java et je veux le dossier entier.

zombiedad
la source

Réponses:

20

Pour copier récursivement un répertoire entier à l'aide de scp, vous devez ajouter le -rcommutateur

scp -r remotehost:/path/to/remote/dir/ /path/to/local/dir/

tournevis
la source
1
a parfaitement fonctionné, merci pour la réponse rapide
zombiedad
1

J'ai une destination qui a besoin de PEM pour se connecter et elle a également un port SSH différent. Cela a fonctionné pour moi comme un charme:

Pour, par exemple, copier le dossier (et les sous-dossiers) de sourceserververs targetserver, exécutez-le sursourceserver

$ rsync -azu -e 'ssh -i ./pem_for_target_server.pem -p <port_number_for_target_server>' /folder/path/on/source [email protected]:/path/on/target/where/you/want/to/copy/folder/on/source/

(Dans le cas où vous obtenez permissions are too openpour le fichier pem, exécutez: chmod 400 ./pem_for_target_server.pem)

Atul
la source