Come scaricare un file da un server con SSH/SCP
Gli utenti possono scaricare in modo sicuro un file da qualsiasi server remoto con SSH utilizzando lo strumento da riga di comando scp. Essenzialmente questo significa che puoi avere un file archiviato in modo sicuro su un server remoto e trasferirlo nella memoria locale senza dover esporre quel file al mondo esterno, poiché scp fornisce lo stesso livello di sicurezza e richiede la stessa autenticazione di e ssh.
Il download sicuro dei file con scp è rivolto principalmente agli utenti esperti che utilizzano regolarmente ssh e la riga di comando in macOS X, bsd o linux. Per coloro che hanno un’adeguata esperienza nella riga di comando, utilizzare ssh e scp per scaricare i file in remoto è facile e conveniente, una volta completato il trasferimento dei file, la connessione remota verrà interrotta. Questo rende scp preferibile a sftp per download di file veloci, anche se potresti ovviamente usare sftp se lo desideri.
Download di un file dal server remoto con SSH Secure Copy
Ciò presuppone che il server remoto abbia ssh abilitato e se riesci a ssh nella macchina, probabilmente avrà anche scp abilitato. Se non disponi di un server remoto con cui provare, puoi provarlo tra macchine Mac OS X o con localhost se abiliti in anticipo ssh e Remote Login sul tuo Mac.
La sintassi di base per utilizzare scp (copia sicura) per scaricare in modo sicuro i file in remoto è la seguente, sostituendo utente, server, percorso e destinazione come appropriato:
scp user@server:/path/to/remotefile.zip /Local/Target/Destination
Ad esempio, per scaricare un file sul desktop locale chiamato “filename.zip” situato nella home directory dell’utente remoto “osxdaily” sull’IP del server 192.168.0.45, la sintassi sarebbe:
% scp osxdaily@192.168.0.45:filename.zip ~/Desktop/
Password:
filename.zip 100% 126 10.1KB/s 00:00
%
Supponendo che l’autenticazione sia corretta, il file di destinazione inizierà immediatamente a essere scaricato nella destinazione di destinazione, fornendo una percentuale di completamento, la velocità di download e il tempo di trasferimento trascorso man mano che il download del file continua.
Come al solito con la riga di comando, è importante specificare la sintassi esatta.
Se il file o il percorso ha uno spazio nel nome, puoi usare le virgolette o l’escape nel percorso in questo modo:
scp osxdaily@192.168.0.45:"/some remote directory/filename.zip" ~/Desktop/
scp può anche essere utilizzato per posizionare in modo sicuro un file su un server remoto regolando anche la sintassi, ma qui ci stiamo concentrando sul download di un file piuttosto che sul caricamento dei file.
Se sei nuovo su ssh e lo provi tu stesso e non ti sei mai connesso al server remoto prima, ti verrà chiesto di confermare se vuoi effettivamente connetterti alla macchina remota. Sembra così e richiede una risposta “sì” o “no” prima che inizi il download.% scp osxdaily@192.168.0.4:filename.zip ~/Desktop/
The authenticity of host '192.168.0.4 (192.168.0.4)' can't be established.
ECDSA key fingerprint is SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.4' (ECDSA) to the list of known hosts.
Password:
filename.zip 100% 126 0.1KB/s 00:00
%
Ancora una volta, supponendo che la connessione sia approvata e l’autenticazione abbia successo, il file remoto verrà scaricato dal server di destinazione su localhost.
Puoi anche utilizzare scp per scaricare più file da un server remoto:
scp user@host:/remote/path/{file1.zip,file2.zip} /Local/Path/
L’utilizzo di ssh per il download di file remoti come questo è l’ideale per i trasferimenti sicuri che richiedono l’autenticazione. Sicuramente puoi scaricare file con curl o wget da server remoti, ma i file accessibili con curl e wget tendono ad essere accessibili anche dal mondo esterno, mentre ssh e scp richiedono l’autenticazione o una chiave e utilizzano la crittografia 3DES, il che fa un notevole vantaggio . più sicuro.