142 votes

En SSH, comment puis-je mv vers mon système local ?

I ssh -dans le répertoire de mon hébergeur, et tar -a indiqué la webapp à télécharger. Lorsque j'essaie de mv a ~/mydirectory/backups o /home/mydirectory/backups il définit le "home" comme étant la racine de l'hébergeur sur lequel je suis connecté en ssh.

Comment puis-je mv en ssh vers un disque local tout en étant dans le système de l'hébergeur ?

197voto

josinalvo Points 6679

Tout d'abord, ssh est un moyen de se connecter à distance à un autre ordinateur. La Shell (ligne de commande) que vous obtenez après avoir ssh est (à peu près) la même que si vous aviez ouvert un xterm dans la machine distante. If n'offre aucun moyen de ce type pour déplacer des fichiers.

Toutefois, le fait que l'ordinateur distant accepte les connexions ssh vous donne quelques possibilités d'échanger des fichiers :

Utilisez scp Pour copier de votre ordinateur local vers l'ordinateur distant, tapez, dans l'ordinateur local :

scp /tmp/file user@example.com:/home/name/dir

(où /tmp/file peut être remplacé par tout fichier local et /home/name/dir par tout répertoire distant)

Pour copier de l'ordinateur distant vers l'ordinateur local, tapez, dans le champ local ordinateur :

scp user@example.com:/home/name/dir/file /tmp

Utiliser sshfs C'est un peu plus avancé mais beaucoup, beaucoup plus agréable (lorsque la connexion internet des deux ordinateurs est bonne. Sinon, utilisez scp)

Vous pouvez "lier" un répertoire de l'ordinateur distant à un répertoire (vide) de l'ordinateur local. Disons que vous "liez" le répertoire /some/remote/dir de l'ordinateur distant au répertoire /home/youruser/remotecomp de votre ordinateur. S'il existe un fichier /some/remote/dir/file sur l'ordinateur distant, vous pouvez le voir sur /home/youruser/remotecomp/file. Vous pouvez copier et mv comme d'habitude, et vous pouvez même modifier les fichiers et répertoires distants.

Notez cependant que lorsque la connexion est terminée, /home/youruser/remotecomp redevient un répertoire vide, et vous ne conservez sur l'ordinateur local que les fichiers que vous avez copiés dans d'autres répertoires.

Pour y parvenir :

1) installer sshfs :

sudo apt-get install sshfs

2) créer un répertoire vide

mkdir /home/youruser/remotecomp

3) "lier" les deux répertoires (le bon terme est mount)

sshfs user@server.com:/some/remote/dir /home/youruser/remotecomp

4) Profiter

5) "délier" les répertoires

fusermount -u /home/youruser/remotecomp

Si l'ordinateur local fonctionne sous Windows Vous pouvez trouver des versions de scp pour Windows. Voir, par exemple winscp

17voto

Ritwik Bose Points 193

Vous pouvez soit utiliser scp o rsync . Dans votre système local :

scp remoteuser@remotehost:/remote/dir/file /local/dir/

Mais, puisque vous avez mentionné la sauvegarde, je suppose qu'elle sera incrémentielle et que vous devrez la faire de temps en temps. Donc, rsync est un meilleur choix pour la sauvegarde incrémentale. Sur votre Shell local :

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/

voir rsync(1) y scp(1) pages de manuel pour les options.

10voto

pl1nk Points 5939

Vous pourriez utiliser scp copie sécurisée.

Depuis votre Shell local :

scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/

Cet exemple va copier via ssh depuis /path/of-the/tar.archive de votre hébergeur vers /home/mydirectory/backups/

Options supplémentaires :

-C : Active la compression

6voto

rushi Points 61

J'ai eu le même problème. Voici la solution facile:-

  1. Ouvrir nautilus (l'explorateur de fichiers)
  2. Cliquez sur + Other Locations en bas du panneau gauche.
  3. En bas, il y a une bande Connect to server . Ecrivez l'adresse ssh dans le champ de saisie, comme par exemple ssh://111.222.333.444/ .
  4. Saisissez votre nom d'utilisateur et votre mot de passe dans la boîte de dialogue qui s'ouvre.
  5. Une fois l'authentification réussie, vous serez à home de l'emplacement éloigné. N'hésitez pas à déplacer le fichier ici et là.

2voto

Xanthir Points 121

Les autres réponses recommandent rsync o scp Ces deux méthodes exigent que vous connaissiez l'emplacement du fichier que vous voulez copier sur la machine distante.

Si vous voulez plutôt être capable de fouiller dans la machine distante, comme vous pouvez le faire avec ssh vous voulez exécuter sftp . La connexion au serveur est très similaire à ssh mais une fois que vous y êtes, tapez help pour obtenir la liste des commandes - il vous permet de vous déplacer sur les machines locales et distantes, et de transférer facilement des fichiers dans les deux sens.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X