Главная
» LINUX
»
Как передать файлы с Windows 10 на Linux через SSH
Как передать файлы с Windows 10 на Linux через SSH
Передача файлов из Windows 10 в Linux по SSH осуществляется с помощью встроенной scpкоманды, или же можно использовать WinSCP, если вам удобнее графический интерфейс. Метод командной строки быстрее всего подходит для разовых копирований и скриптов; WinSCP удобнее, если нужно одновременно просматривать локальные и удаленные папки.
Прежде чем начать, на компьютере с Linux должен быть запущен SSH-сервер, а также необходимо указать его имя хоста или IP-адрес, ваше имя пользователя Linux и целевой каталог, в который вы можете записывать данные. В Ubuntu пакет сервера — это `<имя_сервера>` openssh-server; Canonical описывает настройку в своем руководстве по OpenSSH-серверу . SSH обычно прослушивает порт 22, если администратор сервера его не изменил.
Метод 1: Копирование файлов с помощью SCP в PowerShell
Windows 10 поддерживает клиент OpenSSH от Microsoft, который включает в себя ssh, sftp, и scp. Он может быть установлен не на каждой системе Windows 10, поэтому сначала откройте PowerShell и выполните:
Get-Command scp
Если PowerShell не может найти команду, установите клиент OpenSSH из раздела «Дополнительные компоненты Windows» или выполните следующую команду в окне PowerShell с правами администратора:
Прежде чем что-либо копировать, убедитесь, что Windows может подключиться к машине с Linux:
ssh alex@192.168.1.50
Замените alexи 192.168.1.50на ваше имя пользователя Linux и адрес сервера. При первом подключении SSH отобразит отпечаток ключа хоста сервера. Перед принятием подтвердите этот отпечаток у сервера или администратора; не принимайте неожиданный ключ вслепую.
2. Скопируйте один файл.
Перейдите в папку Windows, содержащую файл, или укажите полный путь. Например:
PowerShell может отправлять локальный файл непосредственно в путь Linux через SSH-соединение.
Если SSH-сервер использует нестандартный порт, используйте заглавные буквы -P, например scp -P 2222 report.pdf alex@192.168.1.50:/home/alex/Downloads/. В текущем руководстве OpenSSH по scp-P указано, что для удаленного порта используется scpпротокол SFTP, при этом сохраняется привычный синтаксис команд.
3. Скопируйте всю папку целиком.
Добавить -rфункцию копирования каталога и всего содержимого внутри него:
scp -r Project alex@192.168.1.50:/home/alex/
Данная -rопция рекурсивно копирует выбранную папку и ее содержимое.
Укажите в кавычках пути Windows, содержащие пробелы, например scp -r "C:\Users\Alex\My Project" alex@192.168.1.50:/home/alex/, .
Способ 2: Передача файлов с помощью WinSCP
Если вы предпочитаете графический интерфейс, установите WinSCP с официального сайта и создайте новую сессию. Выберите SFTP в качестве файлового протокола, введите имя хоста или IP-адрес Linux, оставьте порт 22, если ваш сервер не использует другой порт, и укажите имя пользователя Linux. В документации WinSCP по протоколам рекомендуется использовать SFTP, где это возможно; режим SCP сохранен в основном для совместимости со старыми серверами.
Используйте SFTP в WinSCP для обычной передачи файлов по SSH.
Нажмите «Войти» . При первом подключении сравните отображаемый отпечаток ключа хоста с ожидаемым отпечатком, прежде чем подтвердить подключение. WinSCP объясняет необходимые имя хоста, протокол, имя пользователя и пароль в руководстве по подключению .
После подключения по умолчанию в интерфейсе Commander слева отображаются файлы Windows, а справа — сервер Linux. Перейдите в папку назначения, затем перетащите файл или папку из локальной области в удаленную. Подтвердите параметры передачи, если WinSCP запросит это.
Перетащите файлы из панели Windows в панель Linux, чтобы загрузить их по протоколу SFTP.
Распространенные проблемы
scpНе распознается: установите или включите клиент Windows OpenSSH, затем снова откройте PowerShell.
Соединение отклонено или истекло время ожидания: убедитесь, что sshdсистема работает под управлением Linux, имя хоста или IP-адрес указаны правильно, порт SSH доступен и брандмауэр разрешает его использование.
Отказано в доступе: подтвердите имя пользователя, пароль или ключ SSH и убедитесь, что учетная запись Linux имеет право записи в целевой каталог.
Удаленный путь не найден: используйте существующий путь в Linux и помните, что пути в Linux используют косые черты и чувствительны к регистру.
Для большинства пользователей Windows 10 scpэто самый быстрый вариант, если путь к папке назначения уже известен. WinSCP — лучший выбор, если вы хотите просматривать папки визуально, а SFTP должен быть протоколом по умолчанию для современного SSH-сервера.