web-dev-qa-db-fra.com

Copier un fichier local de Mac vers une session SSH dans un terminal

Je suis nouveau à utiliser des commandes bash et avoir des problèmes. Je suis dans une boîte Linux qui contient certains de mes fichiers de travail. J'ai un fichier local sur mon mac que je dois copier sur le serveur. 

Voici les étapes que j'ai suivies jusqu'ici: 1) ssh [email protected]) Mot de passe entré 3) pwd 4) répertoire de travail: home/usrname

Je suis coincé après ça. J'ai un dossier local dans les documents dans mon mac. Je veux le copier dans mon répertoire de travail sur le serveur sur lequel je suis "ssh". 

Apprécier ton aide. Merci 

4
ixbo45

Lorsque vous vous connectez à une machine distante, c'est comme si vous étiez assis devant cette autre machine et exécutiez des commandes. Tant que vous êtes dans cet état, vous ne pouvez pas copier de fichier vers (ou depuis) ​​celui-ci. Au lieu de cela, vous devez utiliser un outil différent, scp, qui appartient également à la famille ssh et qui appelle en fait ssh dans les coulisses. Voici comment copier un répertoire local sur une machine distante:

scp -rp /path/to/local/dir [email protected]:/path/to/remote/dir

J'ai utilisé le mode -r (qui signifie récursif) pour copier le répertoire de manière récursive. Voir aussi le manual de scp pour plus de détails

15
redneb

Vous voudrez utiliser sftp au lieu de ssh pour cela. Essayez ce qui suit:

  1. sftp [email protected]
  2. Entrer le mot de passe
  3. cd <directory where you want to transfer the file>
  4. put <name of file you want to transfer>

Vous pouvez également ajouter 'l' avant certaines commandes pour indiquer que vous souhaitez le faire localement. c'est-à-dire que ls affichera les fichiers sur le serveur distant et que lls affichera les fichiers sur la machine locale.

MODIFIER :

Vous voulez vous assurer que vous soit

une. Accédez au dossier contenant le fichier que vous souhaitez transférer avant de lancer le processus sftp. 

b. utilisez lcd et lls une fois que vous êtes dans la session sftp pour accéder au dossier local contenant le fichier que vous souhaitez transférer.

Comme indiqué dans les commentaires, l’utilisation du chemin complet du fichier à transférer ne fonctionne pas.

9
Malcolm G

A partir de votre invite de commande Linux: scp -C -r [email protected]:/path/to/remote/directory/ target/directory

0
Davislor