In SSH, come faccio a mv al mio sistema locale?

111

I ssh -ed nella directory del mio webhost e tar -ed la webapp da scaricare. Quando provo a mv a ~/mydirectory/backups o /home/mydirectory/backups , definisce la "casa" come mia radice sul webhost in cui sono inserito ssh.

Come faccio a mv in ssh su un'unità locale mentre ci si trova ancora nel sistema del webhost?

    
posta JeanSibelius 29.06.2012 - 01:41
fonte

5 risposte

153

Per prima cosa: ssh è un modo per accedere da remoto a un altro computer. La shell (riga di comando) che si ottiene dopo che ssh è (più o meno) lo stesso di se si fosse aperto un xterm nella macchina remota. Se non offre questo modo di spostare i file.

Tuttavia, il fatto che il computer remoto accetti le connessioni ssh offre alcune opzioni per lo scambio di file:

Usa scp Per copiare dal tuo computer locale sul telecomando, digita, nel computer locale:

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

(dove / tmp / file può essere sostituito con qualsiasi file locale e / home / nome / dir con qualsiasi directory remota)

Per copiare dal computer remoto a quello locale, digita, nel computer locale :

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

Usa sshfs Questo è un po 'più avanzato ma molto, molto più bello (quando la connessione internet di entrambi i computer è buona. In caso contrario, attenersi a scp)

È possibile "collegare" una directory dal computer remoto a una directory (vuota) del computer locale. Dite di "collegare" il / some / remote / dir dal computer remoto a / home / youruser / remotecomp nel vostro computer. Se c'è un file / alcuni / remote / dir / file nel computer remoto, puoi vederlo su / home / youruser / remotecomp / file. Puoi copiare e mv come al solito e puoi persino modificare file e dirs remoti.

Si noti comunque che quando termina la connessione, / home / youruser / remotecomp diventa di nuovo una dir vuota, e si mantiene solo nel computer locale i file copiati in altre directory

Per ottenere questo:

1) installa sshfs:

sudo apt-get install sshfs

2) crea una directory vuota

mkdir /home/youruser/remotecomp

3) "link" le due directory (il termine giusto è mount)

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

4) Divertiti

5) "scollega" le directory

fusermount -u /home/youruser/remotecomp

Se il computer locale esegue windows Puoi trovare versioni di scp per windows. Vedi, ad esempio, winscp

    
risposta data josinalvo 29.06.2012 - 03:32
fonte
15

Puoi utilizzare scp o rsync . Nel tuo sistema locale:

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

Ma, dal momento che hai menzionato il backup, presumo che sarebbe incrementale e dovrai farlo ogni tanto. Quindi, rsync è una scelta migliore per il backup incrementale. Sulla tua shell locale:

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

vedi rsync(1) e scp(1) man page per le opzioni.

    
risposta data Hedy 29.06.2012 - 03:31
fonte
8

Potresti utilizzare scp copia protetta.

Dalla tua shell locale:

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

Questo esempio verrà copiato tramite ssh da /path/of-the/tar.archive del tuo webhost a / home / mydirectory / backups /

Opzioni extra:

-C : abilita la compressione

    
risposta data pl1nk 29.06.2012 - 01:48
fonte
4

Ho avuto lo stesso problema. Ecco la soluzione facile: -

  1. Apri nautilus (il file explorer)
  2. Fai clic su + Other Locations nella parte inferiore del riquadro di sinistra.
  3. In fondo c'è una striscia Connect to server . Scrivi l'indirizzo ssh nella casella di immissione, ad esempio ssh://111.222.333.444/ .
  4. Inserisci il tuo nome utente e password nella finestra di dialogo che si aprirà.
  5. In caso di autenticazione avvenuta, sarai a home della posizione remota. Sentiti libero di spostare file qua e là.
risposta data rushi 04.02.2017 - 19:13
fonte
1

Le altre risposte consigliano rsync o scp , che richiedono entrambi di conoscere la posizione del file che si desidera copiare sul computer remoto.

Se invece vuoi essere in grado di sondare la macchina remota, come puoi con ssh , devi eseguire sftp . L'accesso al server è molto simile a ssh , ma una volta entrato, digita help per ottenere l'elenco dei comandi: ti consente di muoverti su entrambi i computer locali e remoti e di trasferire facilmente i file avanti e indietro .

    
risposta data Xanthir 05.02.2017 - 22:37
fonte

Leggi altre domande sui tag