Как да изтеглите файл от сървър с SSH / SCP
Потребителите могат сигурно да изтеглят файл от всеки отдалечен сървър с SSH, като използват инструмента scp в командния ред. По същество това означава, че можете да имате файл, съхранен сигурно на отдалечен сървър и да го прехвърлите в локално хранилище, без да се налага да излагате този файл на външния свят, защото scp предлага същото ниво на сигурност и изисква същото удостоверяване като ssh.
Сигурното изтегляне на файлове със scp е насочено предимно към напреднали потребители, които използват редовно ssh и командния ред в macOS X, bsd или linux. За тези с адекватен опит в командния ред, използването на ssh и scp за изтегляне на отдалечени файлове е лесно и удобно, след като прехвърлянето на файлове завърши, отдалечената връзка ще приключи. Това прави scp предпочитан пред sftp за бързо изтегляне на файлове, въпреки че очевидно можете да използвате sftp, ако искате.
Изтегляне на файл от отдалечен сървър с SSH защитено копие
Това предполага, че отдалеченият сървър има активен ssh и ако можете да влезете с ssh в машината, вероятно и той ще има активен scp. Ако нямате отдалечен сървър, с който да опитате това, можете да го изпробвате между машини с Mac OS X или с localhost, ако предварително активирате ssh и Remote Login на Mac.
Основният синтаксис за използване на scp (сигурно копие) за сигурно изтегляне на отдалечени файлове е както следва, като се заменят потребител, сървър, път и цел според случая:
scp user@server:/path/to/remotefile.zip /Local/Target/Destination
Например, за да изтеглите файл на локалния работен плот с име „filename.zip“, намиращ се в началната директория на отдалечен потребител „osxdaily“ на сървър IP 192.168.0.45, синтаксисът ще бъде както следва:
% scp [email protected]:filename.zip ~/Desktop/ Парола: filename.zip 100% 126 10.1KB/s 00:00 %
Ако приемем, че удостоверяването е правилно, целевият файл ще започне незабавно да се изтегля към целевата дестинация, предлагайки процент на изпълнение, скорост на изтегляне и изминало време за прехвърляне, докато изтеглянето на файла продължава.
Както обикновено при командния ред, важно е да посочите точния синтаксис.
Ако файлът или пътят има интервал в името, можете да използвате кавички или екраниране на пътя по следния начин:
"scp [email protected]:/някоя отдалечена директория/име на файл.zip>"
scp може също да се използва за сигурно поставяне на файл на отдалечен сървър чрез коригиране на синтаксиса, но ние се фокусираме върху изтеглянето на файл, а не върху качването на файлове тук.
Ако сте нов в ssh и тествате това сами и ако никога преди не сте се свързвали с отдалечения сървър, ще бъдете помолени да потвърдите дали искате или не действително да се свържете с отдалеченото машина. Това изглежда така и изисква отговор „да“ или „не“, преди да започне изтеглянето. % scp [email protected]:filename.zip ~/Desktop/ Автентичността на хоста '192.168.0.4 (192.168.0.4)' не може да бъде установена. Отпечатъкът на ключа на ECDSA е SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780. Сигурни ли сте, че искате да продължите свързването (да/не)? да Предупреждение: Постоянно добавен '192.168.0.4' (ECDSA) към списъка с известни хостове. Парола: име на файл.zip 100% 126 0.1KB/s 00:00 %
Отново, ако приемем, че връзката е одобрена и влизането е успешно, отдалеченият файл ще се изтегли от целевия сървър към локалния хост.
Можете също да използвате scp за изтегляне на множество файлове от отдалечен сървър:
scp user@host:/remote/path/\{file1.zip, file2.zip\} /Local/Path/
Използването на ssh за отдалечено изтегляне на файлове като това е най-подходящо за сигурни трансфери, които изискват удостоверяване. Разбира се, можете също да изтегляте файлове с curl или wget от отдалечени сървъри, но файловете, достъпни с curl и wget, обикновено са достъпни и от външния свят, докато ssh и scp изискват удостоверяване или ключ и използват 3DES криптиране, което го прави значително по-сигурно.