Come scaricare un file dal server usando SSH? [chiuso]


749

Devo scaricare un file dal server sul mio desktop. (UBUNTU 10.04) Non ho un accesso web al server, solo ssh.

Se aiuta, il mio sistema operativo è Mac OS X e iTerm 2 come terminale.



51
perché questo è fuori tema?
jsmedmar,

4
perché non è una domanda di programmazione
Black

26
Invece @EdwardBlack avrebbe potuto essere migrato su unix.stackexchange
gldraphael

3
Questo ha funzionato per mesudo scp -i ~/.ssh/id_rsa username@remotehost.io:Downloads/filename.sql ~/Desktop
kaxi1993 il

Risposte:


1166

Nel tuo terminale, digita:

scp your_username@remotehost.edu:foobar.txt /local/dir

sostituire il nome utente, l'host, il nome file remoto e la directory locale come appropriato.

Se si desidera accedere a EC2 (o altro servizio che richiede l'autenticazione con una chiave privata), utilizzare l' -iopzione:

scp -i key_file.pem your_username@remotehost.edu:/remote/dir/foobar.txt /local/dir

Da: http://www.hypexr.org/linux_scp_help.php


3
Non ho familiarità con Amazon EC2, ma se hai accesso SSH al tuo server, dovrebbe funzionare.
Josh1billion,

3
Penso che manchi /tra your_username@remotehost.edu:e foobar.txtnell'esempio sopra.
Eugene S,

13
@NiLL scp -i xxx.pem nome_utente@remotehost.edu: foobar.txt / some / local / directory
Helin Wang,

3
@Alex aggiungi l'opzione -r.
SgtPooki,

10
Informazioni utili - Non mi ero reso conto che lo avvii dal tuo computer locale e non dal luogo da cui desideri scaricare. quindi, come stava chiedendo Horak, ~ / lo scaricherà nella tua directory utente come / Users / admin / - Sono stato loggato ssh da remoto e mi chiedevo perché non funzionasse.
Kai Qing,

322

Puoi farlo con il scpcomando. scputilizza il protocollo SSH per copiare i file attraverso il sistema estendendo la sintassi di cp.

Copia qualcosa da un altro sistema su questo sistema:

scp username@hostname:/path/to/remote/file /path/to/local/file

Copia qualcosa da questo sistema in qualche altro sistema:

scp /path/to/local/file username@hostname:/path/to/remote/file          

Copia qualcosa da un sistema ad un altro sistema:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file   

5
Mi piace come se uno volesse raggiungere la domanda di OP e non leggesse completamente la tua risposta, potrebbe accidentalmente e senza pensare semplicemente eseguire il tuo primo comando e possibilmente sovrascrivere il file remoto che stanno provando a scaricare con il file locale che potrebbero aver toccato in precedenza. oops.
Mr Purple,

Perché ci sono accessi per? Qualcuno può fare "rm -rf /" senza pensare, ma ciò non riduce l'utilità del comando rm?
raj_gt1,

1
Pensi che iniziare una risposta a "come dovrei aggiornare Linux?" con il comando "rm -rf /" sarebbe anche una buona idea?
Mr Purple,

2
@MrPurple - Grazie per l'avvertimento, ho quasi fatto esattamente questo. Ho modificato la domanda per mostrare prima il comando più rilevante
Sphinxxx il

96

scp è sicuramente la strada da percorrere, ma per completezza puoi anche fare:

$ ssh host 'cat /path/on/remote' > /path/on/local

o

$ cat /path/on/local | ssh host 'cat > /path/on/remote'

Nota, questo è UUOC, ma < /path/on/local ssh host 'cat > /path'potrebbe causare inutili confusioni.

E per proxy tra due host:

$ ssh host1 'cat /path/on/host1' | ssh host2 'cat > /path/on/host2'


5
Qualcuno ha fatto un test di velocità sui diversi metodi? Sarei curioso di sapere quale è il più veloce. Caso d'uso: ho un file enorme da scaricare.
starbeamrainbowlabs

Questo in realtà funziona con .ssh / config, mentre scp non sembra seguire la configurazione ssh

13

Se il server SSH supporta il sottosistema SFTP (fa parte di SSH e non è correlato a FTP), utilizzare sftp. In caso contrario, prova SCP.

CyberDuck li supporta tutti.


2
Scarica dal loro sito web, cyberduck.ch/Cyberduck-4.2.1.zip
J-16 SDiZ

Sembra che da allora abbiano cambiato il software per renderlo gratuito, ma puoi facoltativamente donare qualsiasi importo e questo ti libererà di una "richiesta di donazione" dall'interno del programma.
Mike,

12
Questo non risponde alla domanda.
edwinj,

1
Lo fa, è abbastanza facile da scaricare usando SFTP di Cyberduck
Miguel Stevens il

FileZilla funziona benissimo per me ed è gratuito e open source (e realizzato dagli stessi ragazzi che creano Firefox). come Cygwin.
Hanshenrik,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.