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?
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
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.
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
J'ai eu le même problème. Voici la solution facile: -
+ Other Locations
en bas du panneau de gauche.Connect to server
. Écrivez l'adresse ssh dans la zone de saisie, telle que ssh://111.222.333.444/
.home
de l’emplacement distant. N'hésitez pas à déplacer le fichier ici et là.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.
C'est étrange que ce soit impossible de l'intérieur ssh
name__. Dans un terminal classique, il est possible d’envoyer/recevoir des fichiers à l’aide des commandes zmodem.
Cela a permis de googleer zssh
name__: http://zssh.sourceforge.net/ . Il faudra l’exécuter comme wrapper avec le nom ssh
original.