2015-05-05 35 views
5

Ho un requisito per eseguire il checksum (per l'integrità dei dati) per SFTP. Speravo che questo potesse essere fatto durante il trasferimento di file SFTP - Mi rendo conto che questo potrebbe essere dipendente dal prodotto (FYI: usando CLEO VLTrader), ma mi chiedevo se questo è consuetudine?Come eseguire i checksum durante il trasferimento di file SFTP per l'integrità dei dati?

Sono anche alla ricerca di opzioni alternative di controllo dell'integrità dei dati che siano altrettanto buone (o migliori) rispetto all'utilizzo di un algoritmo di checksum. Grazie!

risposta

7

Con SFTP, in esecuzione su una sessione SSH crittografata, ci sono poche possibilità che il contenuto del file possa essere corrotto durante il trasferimento. Quindi, a meno che non venga danneggiato, quando si legge il file locale o si scrive il file remoto, si può essere certi che il file sia stato caricato correttamente, se non viene segnalato alcun errore.


Se si desidera testare in modo esplicito in ogni caso:

Mentre non c'è la check-file extension al protocollo SFTP per calcolare un checksum file remoto, non è ampiamente supportato. In particolare, non è supportato dall'implementazione del server SFTP più diffusa, l'OpenSSH. Vedi What SFTP server implementations support check-file extension.

Neppure molti client/librerie client lo supportano. Non hai specificato, quale client/libreria stai utilizzando, quindi non posso fornire ulteriori dettagli.

Oltre a ciò, l'unica opzione è scaricare nuovamente il file (se si carica) e confrontare localmente.


Se si dispone di un accesso alla shell al server, è possibile, naturalmente, cercare di eseguire alcuni comandi di shell checksum (ad es sha1sum) tramite una connessione di shell/SSH separato (o il canale "exec") e analizzare il risultati. Ma questa non è più una soluzione SFTP.