web-dev-qa-db-fra.com

Comment copier un fichier d'un serveur distant sur une machine locale?

Dans mon terminal Shell, je ssh'ed sur un serveur distant et je cd dans le répertoire que je veux. Maintenant dans ce répertoire, il y a un fichier appelé table que je veux copier sur ma machine locale /home/me/Desktop. Comment puis-je faire ceci?

J'ai essayé scp table /home/me/Desktop mais il a donné une erreur sur aucun fichier ou répertoire. Est-ce que quelqu'un sait comment faire ça?

Merci

31
omega

Par exemple, votre hôte distant est exemple.com et le nom de connexion distant est utilisateur1:

scp [email protected]:/path/to/file /path/to/store/file
58
kkpoon

L'opération scp est distincte de votre login ssh. Vous devrez émettre une commande ssh similaire à la suivante en supposant que jdoe est le compte avec lequel vous vous connectez au système distant et que le système distant est exemple.com:

scp [email protected]:/somedir/table /home/me/Desktop/.

La commande scp issue du système où réside/home/me/Desktop est suivie de l'ID utilisateur du compte sur le serveur distant. Vous ajoutez ensuite un ":" suivi du chemin du répertoire et du nom du fichier sur le serveur distant, par exemple,/somedir/table. Ajoutez ensuite un espace et l'emplacement dans lequel vous souhaitez copier le fichier. Si vous souhaitez que le fichier porte le même nom sur le système client, vous pouvez l'indiquer par un point, c'est-à-dire "." à la fin du chemin du répertoire; si vous voulez un autre nom, vous pouvez utiliser/home/me/Desktop/nouveau nom à la place. Si vous utilisiez un port non standard pour les connexions SSH, vous devrez spécifier ce port avec un "-Pn" (P majuscule), où "n" est le numéro de port. Le port standard est 22 et si vous ne le spécifiez pas pour la connexion SSH, vous n'en aurez pas besoin.

4
MoonPoint

Lorsque vous utilisez scp, vous devez indiquer le nom d'hôte et l'adresse IP à partir desquels vous souhaitez copier le fichier. Par exemple, si vous êtes sur l'hôte distant et que vous souhaitez transférer le fichier sur votre ordinateur, vous pouvez utiliser quelque chose comme ceci:

scp -P[portnumber] myfile_at_remote_Host [user]@[your_ip_address]:/your/path/

Exemple:

table scp -P22 [email protected]:/home/me/Bureau /

D'autre part, si vous êtes sur votre machine, vous pouvez utiliser quelque chose comme ceci:

scp -P[portnumber] [remote_login]@[remote's_ip_address]:/remote/path/myfile_at_remote_Host /your/path/

Exemple:

scp -P22 [utilisateur_fake] @ 222.222.222.222:/remote/path/table/home/me/Desktop /

4
dgsleeps

Je recommanderais d'utiliser sftp, utilisez cette commande sftp -oPort=7777 user@Host Où -oPort est le numéro de port personnalisé de ssh, si vous le modifiez en 7777, vous pouvez utiliser -oPort, sinon, utilisez uniquement le port 22, puis tout simplement. sftp user@Host Qui demande le mot de passe, vous pouvez vous connecter et vous pouvez accéder à l'emplacement souhaité à l'aide de cd /home/user, Puis une simple commande get table Vous pourrez le télécharger si vous le souhaitez. télécharger un répertoire/dossier get -r someDirectory le fera. Si vous voulez que les autorisations de fichiers existent aussi, alors get -Pr someDirectory. Pour télécharger sur la modification à distance, entrez les commandes ci-dessus.

1
TEDDY