web-dev-qa-db-fra.com

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

Je ssh- ed dans le répertoire de mon hébergeur, et tar- ed la webapp à télécharger. Quand j'essaie de mv à ~/mydirectory/backups ou /home/mydirectory/backups, il définit le "home" comme étant la racine de l'hôte Web dans lequel je suis ssh.

Comment puis-je mv en ssh sur un lecteur local tout en restant dans le système de l'hôte Web?

125
JeanSibelius

Tout d’abord: ssh est un moyen de se connecter à distance à un autre ordinateur. Le shell (ligne de commande) que vous obtenez une fois que ssh est (à peu près) identique à celui que vous aviez ouvert un xterm sur la machine distante. Si n'offre pas un tel moyen de déplacer des fichiers.

Cependant, le fait que l'ordinateur distant accepte les connexions ssh vous donne certaines options pour échanger des fichiers:

Utilisez scp Pour copier de votre ordinateur local vers la télécommande, tapez, sur l'ordinateur local:

scp /tmp/file [email protected]:/home/name/dir

(où/tmp/file peut être remplacé par n'importe quel fichier local et/home/name/dir avec n'importe quel répertoire distant)

Pour copier de l’ordinateur distant sur l’ordinateur local, tapez, dans l’ordinateur local : :

scp [email protected]:/home/name/dir/file /tmp

Utilisez sshfs Ceci est un peu plus avancé mais beaucoup, beaucoup plus agréable (lorsque la connexion Internet des deux ordinateurs est bonne. Sinon, restez sur 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 à/home/youruser/remotecomp de votre ordinateur. S'il existe un fichier/some/remote/dir/dans l'ordinateur distant, vous pouvez le voir dans/home/votreutilisateur/remotecomp/file. Vous pouvez copier et copier comme d'habitude, et même modifier les fichiers et les répertoires distants.

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

Pour y parvenir:

1) installez 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 [email protected]:/some/remote/dir /home/youruser/remotecomp

4) profiter

5) "dissocier" les répertoires

fusermount -u /home/youruser/remotecomp

Si l'ordinateur local exécute Windows , vous pouvez trouver les versions de scp pour Windows. Voir, par exemple, winscp

174
josinalvo

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

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

Mais, puisque vous avez parlé de sauvegarde, je suppose que ce serait incrémentiel et que vous deviez le faire de temps en temps. Ainsi, rsync est un meilleur choix pour la sauvegarde incrémentielle. Sur votre Shell local:

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

consultez les pages de manuel rsync(1)et scp(1) pour connaître les options.

16
Mohammad Hedayati

Vous pouvez utiliser scp copie sécurisée.

De votre Shell local:

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

Cet exemple va copier via ssh de /path/of-the/tar.archive de votre hébergeur vers/home/mon répertoire/sauvegardes /

Options supplémentaires:

- C: Active la compression

10
pl1nk

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

  1. Ouvrez Nautilus (l'explorateur de fichiers)
  2. Cliquez sur + Other Locations en bas du panneau de gauche.
  3. En bas, il y a une bande Connect to server. Écrivez l'adresse ssh dans la zone de saisie, telle que ssh://111.222.333.444/.
  4. Entrez 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 distant. N'hésitez pas à déplacer le fichier ici et là.
6
rushi

Les autres réponses recommandent rsync ou scp, les deux nécessitant de connaître l'emplacement du fichier que vous souhaitez copier sur la machine distante.

Si vous voulez plutôt pouvoir vous déplacer sur 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 entré, saisissez help pour obtenir la liste des commandes. Vous pourrez ainsi vous déplacer sur les ordinateurs local et distant et transférer facilement des fichiers.

2
Xanthir

C'est étrange que ce soit impossible de l'intérieur sshname__. Dans un terminal classique, il est possible d’envoyer/recevoir des fichiers à l’aide des commandes zmodem.

Cela a permis de googleer zsshname__: http://zssh.sourceforge.net/ . Il faudra l’exécuter comme wrapper avec le nom sshoriginal.

1
Victor Sergienko