Как загрузить файл с сервера с помощью SSH / SCP
Пользователи могут безопасно загрузить файл с любого удаленного сервера с помощью SSH, используя инструмент scp в командной строке. По сути, это означает, что вы можете безопасно хранить файл на удаленном сервере и передавать его в локальное хранилище, не открывая этот файл внешнему миру, потому что scp предлагает тот же уровень безопасности и требует такой же аутентификации, что и ssh.
Безопасная загрузка файлов с помощью scp предназначена в первую очередь для опытных пользователей, которые регулярно используют ssh и командную строку в macOS X, bsd или linux. Для тех, кто имеет достаточный опыт работы с командной строкой, использовать ssh и scp для загрузки удаленных файлов несложно, и, что удобно, после завершения передачи файла удаленное соединение завершается. Это делает scp предпочтительнее sftp для быстрой загрузки файлов, хотя вы, очевидно, можете использовать и sftp, если хотите.
Загрузка файла с удаленного сервера с помощью SSH Secure Copy
Это предполагает, что на удаленном сервере активен ssh, и если вы можете подключиться к машине по ssh, то, вероятно, на нем также будет активен scp. Если у вас нет удаленного сервера, чтобы попробовать это, вы можете попробовать это между компьютерами Mac OS X или с локальным хостом, если вы заранее включили ssh и удаленный вход на Mac.
Основной синтаксис использования scp (защищенного копирования) для безопасной загрузки удаленных файлов выглядит следующим образом, при необходимости заменяя пользователя, сервер, путь и цель:
scp user@server:/path/to/remotefile.zip /Local/Target/Destination
Например, чтобы загрузить файл на локальный рабочий стол с именем «filename.zip», расположенный в домашнем каталоге удаленного пользователя «osxdaily» на сервере IP 192.168.0.45, синтаксис будет следующим:
% scp [email protected]:имя_файла.zip ~/Рабочий стол/ Пароль: имя_файла.zip 100% 126 10,1 КБ/с 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,1 КБ/с 00:00 %
Опять же, при условии, что соединение одобрено и вход выполнен успешно, удаленный файл будет загружен с целевого сервера на локальный хост.
Вы также можете использовать scp для загрузки нескольких файлов с удаленного сервера:
scp user@host:/remote/path/\{file1.zip, file2.zip\} /Local/Path/
Использование ssh для удаленной загрузки файлов, как это, наиболее подходит для безопасной передачи, требующей аутентификации. Конечно, вы также можете загружать файлы с помощью curl или wget с удаленных серверов, но файлы, доступные с помощью curl и wget, как правило, также доступны из внешнего мира, тогда как ssh и scp требуют аутентификации или ключа и используют шифрование 3DES, что значительно упрощает более безопасный.