2010-03-25 12 views
12

Nel protocollo ssh, esiste un meccanismo per il trasferimento dei file?
Sto lavorando su una base di codice esistente che ha già il codice di servizi ssh. Ora ho bisogno di trasferire i file tramite la connessione ssh. Se il protocollo ssh lo supporta già, non devo integrare roba scp in esso.Trasferimento file su ssh

Grazie.

Modifica:
Im utilizzando C, codice ssh basato su openssh.
Devo trasferire il file in modo programmato, non utilizzando un programma/comando esterno a causa di alcuni vincoli. Il programma dovrebbe trasferire qualsiasi file di dimensioni sull'host remoto chunk-by-chunk e elaborare il blocco al volo. Quindi i dati del blocco vengono scartati.

+0

possibile duplicato di [Trasferimento file su SSH] (http://stackoverflow.com/questions/343711/transferring-files-over-ssh) – Ajedi32

risposta

5

sftp e scp sono entrambi metodi di trasferimento file "sicuri" esistenti, ma le risposte dipenderanno dallo stack di tecnologia che si sta utilizzando per l'applicazione. Non menzioni se utilizzi C#, PHP o un'altra lingua, o che tipo di macchina esegue la tua app. Queste cose avranno un impatto significativo sulle risposte che otterrete.

+0

Uso C, codice ssh basato su openssh. – datasunny

2

Prova a guardare SFTP.

Modifica: È inoltre possibile trovare this article utile per eseguire rsunc su ssh.

20
echo "hello" | ssh [email protected] "cat - > /tmp/file" 

ho juste leggere il file, pipe in SSH, e scrivo sul server SSHHost nel tmp/file /.

+0

Devo programmare il trasferimento del file, perché ci sono alcuni vincoli di memoria/hard disk. – datasunny

+0

+1 per i bei vecchi tempi :-) Mi rendo conto che questo post è vecchio, ma puoi farlo in modo scriptable usando le chiavi ssh: http://www.linuxproblem.org/art_9.html – zje

1

Rsync può essere di aiuto:

rsync [email protected]:filename remotefilename 
+0

sembra purtroppo rsync deve essere disponibile su entrambe le macchine – Hafenkranich

4

Il modo vecchia scuola è "tar-to-tar", che fa un buon lavoro di copia e le autorizzazioni di conservazione. Questo è stato in gran parte superato dall'uso di rsync quando entrambe le parti hanno rsync.

ssh [email protected] "cd mydir && tar cfp - mysubdir" | tar xvfp - 

Fare attenzione ai file sparsi e così via quando si esegue questa operazione. La maggior parte dei tars ha un'opzione per preservare i buchi dei file durante questo tipo di processo.

+0

Tenete a mente ENTRAMBI i lati devono essere in grado di utilizzare rsync – Hafenkranich