Безопасная загрузка файлов с помощью scp направлена прежде всего на продвинутых пользователей, которые регулярно используют ssh и командную строку в macOS X, bsd или linux. Для тех, у кого есть достаточный опыт командной строки, использование ssh и scp для загрузки удаленных файлов легко и удобно после завершения передачи файла, удаленное соединение закончится. Это делает scp предпочтительным для sftp для быстрой загрузки файлов, хотя вы, очевидно, можете использовать sftp, если хотите.
Загрузка файла с удаленного сервера с помощью SSH Secure Copy
Это предполагает, что на удаленном сервере активен ssh, и если вы можете ssh войти в машину, тогда у него, вероятно, будет также scp. Если у вас нет удаленного сервера, чтобы попробовать это, вы можете попробовать его между компьютерами Mac OS X или с локальным хостом, если вы предварительно включите ssh и Remote Login на Mac.
Основной синтаксис использования scp (защищенная копия) для безопасной загрузки удаленных файлов заключается в следующем: при необходимости заменяя пользователя, сервера, путь и цель:
scp user @ server: /path/to/remotefile.zip / Local / Target / Destination
Например, чтобы загрузить файл на локальный рабочий стол с именем «filename.zip», расположенный в домашнем каталоге удаленного пользователя «osxdaily» на сервере IP 192.168.0.45, синтаксис будет выглядеть следующим образом:
% scp osxdaily@192.168.0.45: filename.zip ~ / Desktop /
Пароль:
filename.zip 100% 126 10.1KB / s 00:00
%
Предполагая, что аутентификация верна, целевой файл немедленно начнет загружаться в целевое место назначения, предлагая процентное завершение, скорость загрузки и прошедшее время передачи по мере продолжения загрузки файла.
Как обычно в командной строке, важно указать точный синтаксис.
Если у файла или пути есть пробел в имени, вы можете использовать цитаты или экранирование на пути следующим образом:
scp osxdaily@192.168.0.45: «/ некоторый удаленный каталог / filename.zip» ~ / Desktop /
scp также можно использовать для безопасного размещения файла на удаленном сервере, также настроив синтаксис, но мы сосредоточимся на загрузке файла, а не на загрузке файлов здесь.
Если вы новичок в ssh и сами тестируете это, и если вы никогда раньше не подключались к удаленному серверу, вам будет предложено подтвердить, действительно ли вы хотите подключиться к удаленному компьютеру. Это выглядит так и требует ответа «да» или «нет» до начала загрузки.
% scp osxdaily@192.168.0.4: filename.zip ~ / Desktop /
Невозможно установить подлинность хоста ‘192.168.0.4 (192.168.0.4)’.
Ключ отпечатка ключа ECDSA — SHA256: 31WalRuSLR83HALK83AKJSAj972JJA878NJHAH3780.
Вы действительно хотите продолжить подключение (да / нет)? да
Предупреждение: Постоянно добавлено «192.168.0.4» (ECDSA) в список известных хостов.
Пароль:
filename.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, что делает его значительно более безопасный.