web-dev-qa-db-fra.com

fichiers scp d'erreurs de machine locale à distante: aucun fichier ni répertoire de ce type

Je veux pouvoir transférer un répertoire et tous ses fichiers de mon ordinateur local vers mon ordinateur distant. Je n'utilise pas beaucoup SCP, donc je suis un peu confus.

Je suis connecté à ma machine distante via ssh et j'ai tapé la commande

scp name127.0.0.1:local/machine/path/to/directory filename

le local/machine/path/to/directory est la valeur obtenue en utilisant pwd dans le répertoire souhaité de mon hôte local.

Je reçois actuellement l'erreur 

No such file or directory

21
Liondancer

On dirait que vous essayez de copier sur une machine locale avec cette commande. 

Un exemple scp ressemble plus à la commande ci-dessous:

Copiez le fichier "foobar.txt" de l'hôte local vers un hôte distant

$ scp foobar.txt [email protected]:/some/remote/directory

scp "the_file" votre_nom_utilisateur @ the_remote_Host: le/chemin/vers/le/répertoire


envoyer un répertoire:

Copiez le répertoire "foo" de l'hôte local dans le répertoire "bar" d'un hôte distant.

$ scp -r foo [email protected]:/some/remote/directory/bar

scp -r "the_directory_to_copy" votre_nom_utilisateur @ the_remote_Host: le chemin/vers/le/répertoire/vers/copier/vers


et pour copier de l'hôte distant au local:

Copiez le fichier "foobar.txt" d'un hôte distant vers l'hôte local.

$ scp [email protected]:foobar.txt /your/local/directory

scp votre_nom_utilisateur @ the_remote_Host: le_fichier/votre/local/répertoire  


et pour inclure le numéro de port:

Copiez le fichier "foobar.txt" d'un hôte distant avec le port 8080 sur l'hôte local.

$ scp -P 8080 [email protected]:foobar.txt /your/local/directory

scp -P numéro_port votre_nom_utilisateur @ the_remote_Host: le_fichier/votre/local/répertoire


D'une machine Windows à une machine Linux en utilisant PuTTY

pscp -r <directory_to_copy> username@remotehost:/path/to/directory/on/remote/Host

42
Craicerjack

Dans mon cas, je devais spécifier le numéro de port en utilisant 

scp -P 2222 username@hostip:/directory/ /localdirectory/
4
joelschmid

Votre problème peut être causé par différentes choses. Je vais vous fournir trois scénarios possibles sous Linux:

  • L'emplacement du fichier

Lorsque vous utilisez scp name, vous voulez dire que votre fichier name se trouve dans le répertoire Home. Quand il se trouve dans Home mais à l'intérieur d'un autre Dossier, par exemple, my_folder, vous devez écrire:

scp /home/my-username/my_folder/name [email protected]:/Path....
  • Vous autorisez le fichier

Vous devez connaître l'autorisation de fichier de votre fichier. Si vous avez Read-only, vous devriez le changer.

Pour changer la permission: 

En tant que racine, Sudo caja (le gestionnaire de fichiers par défaut du bureau MATE) ou autre , puis avec votre souris, cliquez avec le bouton droit de la souris sur le fichier nom, sélectionnez Propriétés + Permissions Et changez-le sur Groupe et Autre en Lire et écrire.

Ou avec chmod .

  • Votre numéro de port

Peut-être que votre machine distante ou votre serveur ne peut communiquer qu’avec un numéro de port, vous devez donc écrire -P et le numéro de port.

scp -P 22 /home/my-username/my_folder/name [email protected] /var/www/html
1
3edf1w

j'ai eu une sorte de problème similaire. J'ai essayé de copier depuis un serveur sur mon bureau et j'ai toujours le même message pour le chemin local. le problème était, j'étais déjà connecté à mon serveur par ssh, donc il cherchait le chemin local dans le chemin du serveur.

solution: je devais me déconnecter et relancer la commande et cela fonctionnait

0
Dominik Herrmann