Как скачать файл с сервера
Обновлено: 21.11.2024
США Доллар Евро Британский фунт Канадские доллары Австралийские доллары Индийские рупии Китайский юань Юань Подробнее →
Мы поддерживаем наших друзей и коллег в Украине. Чтобы поддержать Украину в трудную минуту, посетите эту страницу.
Как скачать файл по SSH
- Соединение зашифровано на всем протяжении, поэтому вы можете не беспокоиться о том, что файлы могут быть скомпрометированы во время передачи
- С помощью SSH-ключей и псевдонимов можно установить SSH-соединение без ввода пароля каждый раз, что позволяет очень быстро загружать личные файлы безопасным способом
- Есть широкие возможности автоматизировать весь процесс. Например, можно создать сценарий на стороне сервера, который будет создавать регулярную резервную копию вашей учетной записи хостинга, и еще один сценарий на вашем компьютере, который позволит загружать свежую резервную копию на ваш локальный компьютер в назначенное время.
Комплект протоколов OpenSSH SSH/SecSH (предварительно установленный с OS X и доступный для загрузки для большинства других систем *nix) включает приложение scp (защищенное копирование), которое можно использовать для загрузки и скачивания файлов с удаленного компьютера и на него. хосты.
Вот несколько примеров его использования для:
<р>1. Загрузка файла с локального компьютера на удаленный:scp /path/to/local/fileusername@hostname:/path/to/remote/file
Эту команду можно использовать для загрузки определенного файла в вашу учетную запись на сервере:
scp -P 21098 /home/localuser/site/example.html cpanel_user@servername:/home/cpanel_user/public_html
Или этот, если нужно загрузить весь каталог:
scp -P 21098 -r /home/localuser/site/ cpanel_user@servername:/home/cpanel_user/public_html
<р>2. Загрузка файла из удаленной системы на ваш компьютер:
scp имя_пользователя@имя_хоста:/путь/к/удаленному/файлу /путь/к/локальному/файлу
Этот конкретный пример можно использовать для загрузки журнала ошибок из public_html учетной записи хостинга на ваш локальный компьютер:
scp -P 21098 cpanel_user@servername:/home/cpanel_user/public_html/error_log /home/localuser/logs/
ПРИМЕЧАНИЕ. При использовании одной из приведенных выше команд вам будет предложено ввести пароль в свою учетную запись cPanel (когда вы вводите пароль, он автоматически скрывается в целях безопасности).
В настоящее время только Windows 10 имеет встроенную поддержку SSH через приложение PowerShell. Вы можете найти его, нажав кнопку «Пуск» > введя «PowerShell» и выбрав в меню параметр Windows PowerShell:
<р>1. Загрузка файла с локального компьютера на удаленный:
scp /path/to/local/fileusername@hostname:/path/to/remote/file
Эту команду можно использовать для загрузки определенного файла в вашу учетную запись на сервере:
<р>2. Загрузка файла из удаленной системы на ваш компьютер:
scp имя_пользователя@имя_хоста:/путь/к/удаленному/файлу /путь/к/локальному/файлу
Этот конкретный пример можно использовать для загрузки журнала ошибок из public_html учетной записи хостинга на ваш локальный компьютер:
ПРИМЕЧАНИЕ. При использовании одной из приведенных выше команд вам будет предложено ввести пароль в свою учетную запись cPanel (когда вы вводите пароль, он автоматически скрывается в целях безопасности).
Вы можете использовать PowerShell и в других версиях Windows, используя следующие обходные пути:
Чтобы использовать встроенные утилиты командной строки Windows, нажмите кнопку «Пуск» > щелкните параметр «Выполнить…». В командной строке введите powershell и нажмите Enter:
Вот пример команды для загрузки файла с сервера на ваш компьютер:
<р>2. Другой обходной путь включает установку интерфейса командной строки Cygwin для Windows, в котором есть команда scp. Чтобы использовать его, сделайте следующее:
- Загрузите установочный файл cygwin отсюда
- Установите cygwin на свой компьютер (не забудьте включить openssh из сетевого пакета в процессе установки)
- После установки вы сможете запустить команду scp из первой части статьи, используя терминал командной строки Windows (доступный через кнопку «Пуск» > параметр «Выполнить…» > В командной строке введите cmd и нажмите Enter). ).
Заблокировано. Этот вопрос и ответы на него заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия.
Мне нужно загрузить файл с сервера на рабочий стол. (UBUNTU 10.04) У меня нет веб-доступа к серверу, только ssh.
Если это поможет, моя ОС — Mac OS X и iTerm 2 в качестве терминала.
4 ответа 4
В терминале введите:
заменив соответствующим образом имя пользователя, хост, удаленное имя файла и локальный каталог.
Если вы хотите получить доступ к EC2 (или другому сервису, для которого требуется аутентификация с использованием закрытого ключа), используйте параметр -i:
Я думаю, что в приведенном выше примере отсутствует / между your_username@remotehost.edu: и foobar.txt.
Полезная информация. Я не знал, что вы запускаете это со своего локального компьютера, а не с того места, откуда хотите скачать. поэтому, как спрашивал Хорак, ~/ сбросит его в ваш пользовательский каталог, например /Users/admin/ - я удаленно вошел в систему ssh и задался вопросом, почему он не работает.
Это можно сделать с помощью команды scp. scp использует протокол SSH для копирования файлов в систему, расширяя синтаксис cp .
Скопируйте что-нибудь из другой системы в эту систему:
Скопируйте что-нибудь из этой системы в другую:
Скопировать что-либо из одной системы в другую:
Мне нравится, что если кто-то хочет ответить на вопрос ОП и не полностью прочитал ваш ответ, он может случайно и не задумываясь просто запустить вашу первую команду и, возможно, перезаписать удаленный файл, который они пытаются загрузить, локальным файлом, который они, возможно, коснулись ранее. . упс.
Почему есть доступы? Кто-то может сделать «rm -rf /», не задумываясь, но это не снижает полезность команды rm?
Считаете ли вы, что начинать отвечать на вопрос "Как мне обновить Linux?" с командой "rm -rf /" тоже было бы неплохо?
@MrPurple - Спасибо за предупреждение, я почти так и сделал. Я отредактировал вопрос, чтобы сначала показать наиболее подходящую команду
Механизм доступа пользователя компьютера к разным файлам каталогов на разных разделах жесткого диска сравнительно аналогичен тому, как SSH используется для доступа к удаленным компьютерам, существующим в общей или другой сети.
Эта сеть может быть общедоступной, как Интернет, или частной, как LAN (локальная сеть), и SSH делает возможным доступ к этим машинам, но как насчет загрузки связанных с ними файлов?
Предпосылки
Эта статья предназначена для пользователей Linux на рабочем столе, которые хотят получать доступ и загружать файлы в среде удаленного сервера Linux через SSH.
У вас должен быть аутентифицированный доступ к этим двум средам Linux и некоторое знакомство с интерфейсом командной строки Linux.
Основной синтаксис использования SSH с командой SCP
Протокол SSH (Secure Shell) используется для того, чтобы команда SCP (Secure Copy) могла успешно выполнять определенные задачи загрузки файлов из серверной среды Linux в среду рабочего стола Linux.
Стандартный синтаксис использования команды SSH с командой SCP выглядит следующим образом:
Во-первых, вы должны знать имя пользователя и IP-адрес или имя хоста удаленного сервера, с которого вы хотите получить определенный файл.
Во-вторых, вы должны точно указать относительный путь к местоположению загружаемого файла на удаленном сервере и относительный путь к месту хранения загружаемого файла на настольном компьютере.
Создание файлов в удаленном Linux с помощью SSH
Вы можете добиться успешной загрузки файлов из среды удаленного сервера Linux в среду рабочего стола Linux с помощью трех методов.
Прежде чем мы обратимся к трем методам загрузки файлов SCP, давайте сначала разместим на нашем сервере несколько файлов, которые мы хотим загрузить. Если эти файлы уже существуют на вашей стороне, все готово. Все, что вам нужно, это правильный относительный путь к файлам.
Создать файлы на удаленном сервере Linux.
Создание файлов в удаленном Linux
Давайте рассмотрим три способа загрузки файлов с удаленного сервера Linux.
Загрузка удаленных файлов с помощью команды SCP в Linux
Ссылаясь на приведенное выше правило синтаксиса, мы можем загрузить наш первый файл с помощью следующего подхода из среды вашего рабочего стола.
Проверить наличие загруженного файла:
Загрузить удаленные файлы Linux
Загрузка удаленных файлов с номером порта с помощью команды SCP в Linux
Возможно, вы определили нестандартный порт или хотите использовать стандартный порт в среде сервера Linux для обработки всех удаленных загрузок файлов. В этом случае следует придерживаться следующего синтаксического правила:
Попробуем загрузить второй созданный нами файл:
Загрузить удаленные файлы Linux с портом
Судя по всему, загрузка прошла успешно.
Загрузка удаленных файлов с закрытым ключом с помощью команды SCP в Linux
Если используемый вами удаленный сервер ограничивает вас закрытым ключом/сертификатом для удаленных подключений, не беспокойтесь. Вы по-прежнему можете выполнять удаленную загрузку файлов с помощью следующего синтаксиса.
Давайте попробуем загрузить третий файл, который мы создали, используя этот подход.
Ваш экземпляр терминала должен находиться по тому же пути, что и этот файл сертификата.
Загрузка удаленных файлов Linux с закрытым ключом
Наконец, давайте проверим наличие трех загруженных файлов:
Проверка файлов удаленной загрузки
Используя подстановочный знак (*), вы можете загрузить все эти файлы одновременно, поскольку они имеют общее расширение.
В этом учебном пособии мы узнали, как использовать SCP (Secure Copy) через протокол SSH для загрузки определенных файлов с удаленного сервера. Описанные подходы достаточно гибки, чтобы удовлетворить ваши потребности в удаленной загрузке файлов.
Сеанс SSH подобен порталу на другой компьютер. Если вы привыкли работать с Windows, вы знаете, как легко переносить файлы из одного места в другое. Просто перетащите! Никаких текстовых команд, никакой аутентификации, ничего подобного.
Однако иногда вам потребуется загрузить файл с SSH на локальный рабочий стол, например, если вы используете один из наших серверов Linux VPS. И для этого нет простой команды из самого SSH-терминала. Две среды слишком далеко друг от друга. Однако у нас есть специальный инструмент под названием «SCP», что означает «Безопасное копирование», который создан именно для таких ситуаций.
Мы собираемся перенести этот файл из Linux на рабочий стол Windows.
Оглавление
Шаг 1. Соберите необходимую информацию
Чтобы передать файл с удаленного сервера по SSH с помощью SCP, нам потребуется следующая информация:
- Учетные данные для входа — имя пользователя, имя или IP-адрес сервера и пароль
- Номер порта для SSH-соединений.
- Путь к файлу на удаленном сервере
- Путь к месту загрузки
У вас уже должны быть учетные данные для входа при подключении к серверу с помощью PuTTY или другого инструмента, поэтому мы не будем вдаваться в подробности.
Что касается номера порта, вам нужно знать, какой порт SSH-сервера прослушивает ваш VPS. Это будет либо 22 (порт по умолчанию), либо он будет предоставлен вам при заказе VPS у вашего хостинг-провайдера.
Чтобы получить полный путь к файлу, который вы хотите передать, введите команду «pwd» в интерфейсе командной строки удаленного сервера, пока файл находится в вашем текущем каталоге. Это даст вам имя папки, например:
Теперь просто добавьте имя файла к полученному пути, и все готово.
Что касается пути к месту загрузки, это то, что вы должны получить самостоятельно!
Шаг 2. Создайте команду SCP
Команда SCP выглядит следующим образом:
Замените разделы, выделенные жирным шрифтом, информацией, которую вы собрали на шаге 1. Например, в этом примере используется следующая команда:
Шаг 3. Запуск команды
Откройте командную строку в Windows. В Windows 10 по умолчанию уже установлен SCP. В этом примере мы будем использовать инструмент Windows PowerShell для запуска команд. Цвет контрастирует с желтым, а подсветка синтаксиса — приятное отличие от унылой командной строки.
Вставка приведенной выше команды в локальный редактор командной строки дает нам:
Как видите, сначала необходимо подтвердить подключение с помощью отпечатка RSA удаленного сервера. Как только вы наберете «да», он будет навсегда добавлен в файл «known_hosts».
Файл «known_hosts» в Windows находится по адресу:
Замените [Имя пользователя] своим именем пользователя Windows. Это файл без расширения, например:
Для таких файлов идеально подходит такой редактор, как Notepad++. Каждый отпечаток RSA добавляется в новую строку. Это позволяет вам легко очистить их, удалив всю строку сразу, если вам когда-нибудь понадобится удалить запись.
И готово! Перейдите к местоположению, которое вы указали в своей команде SCP, и файл должен быть виден.
SCP — это самый прямой способ передачи файлов с удаленных серверов на локальные системы. Он использует те же протоколы SSH, поэтому соединение полностью зашифровано, что делает его невосприимчивым к атакам посредника. Надеемся, что это руководство поможет вам использовать его эффективно и легко. Если вы пользуетесь одной из наших управляемых служб Linux VPS, и у вас есть проблема с SCP или вам нужна дополнительная информация об этом, не стесняйтесь обращаться в нашу круглосуточную службу поддержки серверов Linux, которая включена в ваш план хостинга.
Если это руководство помогло вам переместить файлы с удаленного сервера на локальный компьютер, рассмотрите возможность поделиться этими знаниями с друзьями, используя наши ярлыки общего доступа. Вы также можете оставить любые дополнительные советы или вопросы в нашем разделе комментариев ниже. Спасибо.
Пользователи могут безопасно загрузить файл с любого удаленного сервера с помощью 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 osxdaily@192.168.0.45:filename.zip ~/Desktop/
Пароль:
filename.zip 100% 126 10,1 КБ/с 00:00
%
При условии, что аутентификация выполнена правильно, целевой файл немедленно начнет загружаться в целевое место назначения, предлагая процент завершения, скорость загрузки и истекшее время передачи по мере продолжения загрузки файла.
Как обычно в командной строке, важно указать точный синтаксис.
Если в имени файла или пути есть пробел, вы можете использовать кавычки или экранирование пути следующим образом:
scp osxdaily@192.168.0.45:"/какой-то удаленный каталог/имя файла.zip" ~/Desktop/
scp также можно использовать для безопасного размещения файла на удаленном сервере путем настройки синтаксиса, но здесь мы сосредоточимся на загрузке файла, а не на загрузке файлов.
Если вы новичок в ssh и тестируете его самостоятельно, и если вы никогда раньше не подключались к удаленному серверу, вас попросят подтвердить, действительно ли вы хотите подключиться к удаленному компьютеру. Это выглядит так и требует ответа «да» или «нет» перед началом загрузки.
% scp osxdaily@192.168.0.4:filename.zip ~/Desktop/
Подлинность хоста «192.168.0.4 (192.168.0.4)» не может быть установлена.
Отпечаток ключа ECDSA: SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780.
Вы уверены, что хотите продолжить подключение (да/нет)? да
Предупреждение: «192.168.0.4» (ECDSA) навсегда добавлен в список известных хостов.
Пароль:
filename.zip 100% 126 0,1 КБ/с 00:00
%
Опять же, при условии, что соединение одобрено и вход выполнен успешно, удаленный файл будет загружен с целевого сервера на локальный хост.
Вы также можете использовать scp для загрузки нескольких файлов с удаленного сервера:
Использование ssh для удаленной загрузки файлов, как это, наиболее подходит для безопасной передачи, требующей проверки подлинности. Конечно, вы также можете загружать файлы с помощью curl или wget с удаленных серверов, но файлы, доступные с помощью curl и wget, как правило, также доступны из внешнего мира, тогда как ssh и scp требуют аутентификации или ключа и используют шифрование 3DES, что значительно упрощает более безопасно.
Читайте также: