Je transfère des fichiers à l'aide de cette commande
scp <localfile> user@host:<destination>
La commande ci-dessus ne fonctionne que lorsque je ne suis pas connecté au serveur.
Comment puis-je transférer des fichiers locaux sur la machine hôte alors que je suis déjà connecté?
Je ssh en utilisant ssh user@hostname
ssh
file-transfer
Omniprésent
la source
la source
Réponses:
Bonne question.
scp
encore une fois, mais le contraire. Je l'ai fait et le voici:modifié pour ajouter: comme indiqué dans les commentaires, cela nécessite que l'ordinateur distant puisse accéder à l'ordinateur local. Et sshd ou (openssh-server) doit être installé et exécuté sur la machine locale.
la source
Il serait utile de savoir ce que vous exécutez sur la machine hôte. Si vous utilisez Linux,
devrait marcher.
la source
user@host
semble se référer à n'importe quel ordinateur que vous ne contrôlez pas actuellement. Ainsi, lorsque l'OP n'est pas connecté à l'ordinateur distant,user@host
l'ordinateur distant l'est également. Lorsque l'OP est connecté à l'ordinateur distant,user@host
c'est l'ordinateur local. Si mes hypothèses sont correctes, cette réponse est logique.Si vous avez un moyen de revenir à votre ordinateur local (votre ordinateur local est accessible à partir de l'ordinateur distant - généralement lorsque les deux ordinateurs sont sur le même réseau local), l'utilisation de scp à partir de l'ordinateur distant devrait fonctionner (
scp local:/path-to-file .
).Si votre ordinateur local ne peut pas être atteint depuis l'ordinateur distant (généralement vrai si votre télécommande est un VPS sur Internet et que votre ordinateur local a une IP dynamique), votre meilleure façon est d'ouvrir un nouveau terminal sur l'ordinateur local et de copier le fichier.
Une autre façon, plus compliquée et certainement pas seulement nécessaire de copier un fichier, serait de créer un VPN entre les machines (ou réseaux) afin que les deux machines soient accessibles de l'autre et que vous puissiez utiliser scp d'une machine ou de l'autre.
la source
tout en étant connecté au système distant (plus facile de simplement cd dans l'emplacement du fichier) sudo scp emplacement_fichier / nom_fichier utilisateur @ hôte: emplacement_fichier
tout en étant déconnecté du système distant sudo scp authoried_user @ hostname: file_location / file_name new_location_on_local_machine
REMARQUE: rappelez-vous, lorsque vous êtes déconnecté des systèmes distants, s'il s'agit d'un nouveau terminal, le premier mot de passe sera le mot de passe sudo, le deuxième mot de passe sera le mot de passe utilisateur autorisé. si vous avez déjà créé un module dans ce terminal particulier, c'est juste le mot de passe utilisateur autorisé dont vous avez besoin. surveillez-les, cela rend les choses délicates.
la source