Ubuntu передать файл по сети

Обновлено: 06.07.2024

Переходим на Ubuntu


Как передать файлы между двумя компьютерами, работающими на Ubuntu

Как передать файлы между двумя компьютерами, работающими на Ubuntu

Шаг I

Проверьте, что два компьютера могут связаться друг с другом. Для этого потребуется узнать сетевые адреса компьютеров (здесь мы рассказали, как это делается) и с первого компьютера выполнить команду ping по адресу второго:

Шаг II

На удаленной машине, к которой вы будете подключаться, должен быть установлен и запущен сервер SSH. Проверить это можно следующей командой

На самом деле, всё уже готово. Можно проверить работу, выполнив команду:

Для того, чтобы остановить сервер SSH:

Для того, чтобы запустить сервер SSH:

Для того, чтобы перезапустить сервер SSH:

Вернемся к передаче файлов. Как мы уже говорили, передача возможна двумя способами.

С помощью sftp

Для начала подключитесь к компьютеру, на котором только что установили сервер SSH
user@user-laptop:

Connecting to 192.168.0.107…

user@192.168.0.107’s password: <введите пароль пользователя user>

sftp>
Теперь можно передать файлы с помощью команды
sftp> get file.dat /home/user/Documents

Другие полезные команды sftp

Кроме копирования файлов, протокол sftp позволяет манипулировать файловой системой удаленного компьютера. Можно использовать следующие команды:
cd путь Изменяет удалённую папку на путь.

lcd путь Изменяет локальную папку на путь.

chgrp группа путь Изменяет группу файла по пути на определенную группу. Группа должна быть указана в формате цифрового GID.

chmod права путь Задаёт определенные права доступа файлу, расположенному по указанному пути.

chown владелец путь Изменяет владельца файла, расположенного по указанному пути. Владелец должен быть указан в формате цифрового UID.

exit Выходит из sftp

get удаленный-путь [локальный-путь] Получает файлы по удаленному-пути и сохраняет их на локальной машине. Если локальный-путь не задан, используется путь удаленной машины.

help Выводит помощь.

ln старый-путь новый-путь Создаёт символическую ссылку со старого-пути по новому-пути.

lpwd Выводит локальную рабочую директорию.

ls [путь] Выводит содержимое директории по указанному пути (если путь не указан, выводится локальная папка).

mkdir путь Создаёт удалённую папку по указанному пути.

lmkdir путь Создаёт локальную папку по указанному пути.

put локальный-путь [удалённый-путь] Загружает файлы из локального-пути и сохраняет их на удалённой машине. Если удалённый-путь не указан, используется такой же путь, как на локальной машине.

pwd Выводит удалённую рабочую директорию.

quit Выход из sftp

rename старый-путь новый-путь Изменяет имя удалённого файла со старого-пути на новый-путь.

rmdir путь Удаляет удалённую директорию, указанную в пути.

rm путь Удаляет удалённый файл, указанынй в пути.

symlink старый-путь новый-пут Создаёт символическую ссылку со старого-пути по новому-пути.

С помощью scp

Синтаксис scp следующий:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 […] [[user@]host2:]file2

Более подробную информацию можно найти в справочной системе, выполнив команду man scp .

Однако, если вы не фанат интерфейса командной строки, вы можете воспользоваться sftp/scp-клиентом, например, FileZilla.

о netcat

В следующей статье мы рассмотрим Netcat. Это один сетевой инструмент который позволяет через терминал, используя простой синтаксис, открывать порты TCP / UDP в HOST, связывать оболочку с определенным портом и принудительно подключать UDP / TCP.

Некоторые называют этот инструмент швейцарским армейским ножом TCP / IP. Может использоваться как специальное решение для передачи файлы по локальным сетям или из интернета, последнее с осторожностью. Это также полезно для передачи данных между виртуальными машинами или контейнерами и т. Д.

Этот инструмент может быть целесообразно использовать его только в локальной сети. Если вы отправляете данные с помощью этого инструмента на сервер через Интернет, пакеты могут быть перехвачены по маршруту. Файлы будут отправлены без дополнительной защиты. Но если передаваемые данные не содержат конфиденциальных данных, это действительно не будет серьезной проблемой.

Установите Netcat в Ubuntu

Большинство операционных систем на базе Gnu / Linux поставляются с этим предустановленный инструмент. Чтобы проверить, установлен ли на вашем компьютере Netcat, откройте терминал (Ctrl + Alt + T) и введите:

Netcat установлен на Ubuntu

Если команда не найдена, вы можете установить этот инструмент используя команду:

Это будет необходимо установите netcat как на компьютер, который получает файлы, так и на тот, который их отправляет.

Используйте netcat для передачи файлов между компьютерами

На компьютере, который будет получать файлы, вы должны найдите используемый IP-адрес. В этом примере это будет местный тростник. Для этого можно использовать:

IP-адрес назначения для netcat

Или вы также можете использовать:

На предыдущем скриншоте видно, что IP получателя в этом случае будет 192.168.0.103. Там, чтобы уточнить, что Перед тем, как записать команду отправителя, необходимо записать соответствующую команду в получатель..

На компьютере, на котором будет получен файл, введите эту команду:

файл, полученный с помощью netcat

В приведенной выше команде используются два параметра: -v и -l. Первый делает вывод подробным, чтобы вы могли видеть, что произойдет. Что касается -l, он делает инструмент "Я слышал"На порт 44444. Команда в основном то, что она делает, открывает канал связи на принимающем устройстве. Если у вас настроен брандмауэр, вы должны убедиться, что его правила не блокируют соединение.

Обычно netcat отображает все, что получает, в терминале. После> создайте редирект. Вместо того, чтобы выводить его на экран, он отправляет весь вывод в файл, указанный после>. Это создаст файл с заданным именем.

На компьютере, который отправит файл, вам нужно будет написать, заменив 192.168.0.103 на IP-адрес вашего компьютера что вы получите что было отправлено, следующее:

файл, отправленный с помощью netcat

В этой команде -N закрывает netcat после завершения передачи. Пути к каталогам и файлам могут быть абсолютными или относительными..

чат с netcat

В случае используйте команды, показанные без перенаправления, это создаст «чат» несколько базовый между двумя устройствами. Если вы наберете что-то на одном терминале и нажмете Enter, это появится на другом компьютере. Это простой способ скопировать и вставить текст с одного устройства на другое.

Это соединение можно закрыть, нажав Ctrl + C в любой из двух участвующих команд.

Отправляйте сжатые файлы на ходу

Если вы хотите, отправлять большие файлы, этот инструмент позволяет сжимать их на лету, чтобы ускорить передачу. В приемнике нужно будет написать:

Сжатый файл приемника Netcat

Со стороны эмитента заменив 192.168.0.103 на IP-адрес принимающего компьютера, вам нужно будет написать следующее:

Каталоги отправки и получения

На принимающей стороне мы будем использовать следующую команду:

каталог, полученный с помощью netcat

В этом случае на отправляющем устройстве нам нужно будет использовать следующую команду:

каталог, отправленный с помощью netcat

Помощь

Если вам нужно узнать больше о netcat, вы можете воспользоваться справкой:

Справка Netcat

Сегодня пользователи Ubuntu могут найти множество программных решений, которые могут быть полезны при передаче файлов между компьютерами. Это хороший вариант, когда дело доходит до разовые переводы между командами из нашей локальной сети.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Netcat, быстрая передача файлов между компьютерами

В данной статье расскажу о настройке файлового обмена между Windows и Ubuntu. Мы научимся расшаривать папки (каталоги) в Ubuntu и подключаться к ним из Windows 10 и наоборот. В этой статье все действия мы будем выполнять без использования терминала.

Этой статьей я хочу развеять предрассудки, что шарить папки на Ubuntu очень сложно. Так как же расшарить папку в Ubuntu?

Настройка общего доступа папки в Ubuntu и подключение к ней из Windows.

Открываем файловый менеджер (Nautilus). Выбираем папку, которую хотим расшарить другим пользователям в локальной сети. Кликаем по ней правой кнопкой мыши, в контекстном меню выбираем "Свойства" и переходим на вкладку "Общедоступная папка по локальной сети":

Свойства папки

Если проставить галочку "Опубликовать эту папку" и нажать кнопку "Применить", то наша папка станет доступна другим пользователям в локальной сети. И у эта папка будет подсвечена значком общего доступа:

Значок общего доступа

Но есть нюансы. Не спешите закрывать статью.

Если мы это сделаем в первый раз, то система нам радушно предложит установить "Службу общего доступа к папкам":

Служба общего доступа к папкам

Соглашаемся и жмём "Установить службу", появится окно, непосредственно, с установкой пакета Samba:

Установить службу

Устанавливаем и соглашаемся на перезапуск сеанса:

Перезапуск сеанса

Давайте разберёмся подробнее с открытием общего доступа к папке.

Создадим какую-нибудь папку, к примеру, назовём её LinuxFiles. Проставим галочку "Опубликовать эту папку" и нажать "Применить":

Опубликовать эту папку

В поле "Наименование" можно вписать имя сетевого ресурса, как оно будет отображаться у нас в сети.

К примеру, мы создаём название каталога с пробелами и прочими символами, а здесь, в поле "Наименование" указываем нормальное название сетевого ресурса латинскими буквами.

Как подключиться к расшаренной папке Ubuntu из Windows?

Для этого нам надо узнать наш ip или название устройства (hostname).

Это можно сделать в графическом интерфейсе через "Параметры" системы.

В пункте "Сеть" посмотреть подробности вашего подключения:

Параметры сети

В пункте "Подробности" (О системе):

О системе

Тоже самое можно посмотреть и в терминале, выполнив следующие команды:

После чего в Windows подключаемся, введя в адресной строке Проводника два обратных слеша \\ , а затем ip адрес или имя устройства Ubuntu:

Проводник Windows

Отобразятся все расшаренные каталоги на Ubuntu машине. Но если мы попытаемся зайти в нашу папку LinuxFiles, то получим ошибку доступа:

Ввод сетевых учетных данных

Есть два пути решения данной проблемы.

Если хотите, чтобы любой имел доступ к вашей расшаренной папке, то надо в свойствах её общего доступа проставить галочку "Гостевой доступ" и нажать "Применить":

Гостевой доступ

Если хотите подключаться к папке с помощью учетной записи вашего текущего пользователя Ubuntu, то придется задать ему Samba пароль и это сделать можно в терминале (да, я вас обманул, один раз придется в терминал зайти):

smbpasswd

Теперь можно в Windows зайти в нашу расшаренную папку. Либо с вводом имени пользователя и пароля (вашего Ubuntu пользователя). Либо, если проставили галочку "Гостевого входа", то сразу.

Расшаренный каталог

Но если в Windows вы попытаетесь создать, изменить или удалить файл/папку, то получите ошибку:

Необходимы разрешения на выполнение операции

У вас нет доступа на изменение в этом каталоге.

Если это проблема, и вы хотите, чтобы пользователи в локальной сети могли изменять файлы в этой папке, то для решения этой проблемы нужно в свойствах общего доступа папки проставить галочку "Разрешить другим пользователям изменять содержимое папки" и нажать "Применить":

Выдача прав на изменений файлов

После чего у вас будет запрошено подверждение на изменение прав на папку:

Подтверждение на изменени прав на папку

Соглашаемся на изменение прав на каталог.

Теперь пользователи локальной сети смогут изменять файлы внутри вашей расшаренной папки.

Стоит упомянуть, что не только пользователи Windows смогут подключаться к вашей расшаренной папке, но и пользователи Ubuntu или других дистрибутивов Linux, аналогично, как они бы подключались к расшаренной папке Windows.

Давайте теперь расшарим папку на Windows и подключимся к ней из Ubuntu.

Настройка общего доступа папки в Windows и подключение к ней из Ubuntu.

Создаём папку в Windows где-нибудь, кликаем правой кнопкой мыши, выбираем "Свойства" - "Доступ" и жмём "Расширенная настройка":

Расширенная настройка папки Windows

Далее проставляем галочку "Открыть общий доступ к этой папке" и нажимаем "Применить":

Открыть общий доступ к этой папке

Всё, мы расшарили папку в Windows и к ней можно подключаться.

Как подключиться к расшаренной папке Windows из Ubuntu?

Нам нужно знать ip адрес или имя устройства (hostname).

Полный сетевой путь к расшаренной папке написан на вкладке "Доступ" в Свойствах папки:

Полный сетевой путь к папке

Открываем файловый менеджер (Nautilus) в Ubuntu и слева выбираем пункт "Подключиться". Вводим smb и сетевой путь к папке Windows, не забывая развернуть слеши в другую сторону, и нажимаем "Подключиться":

Подключение к папке Windows через smb

После попытке подключения, если адрес ввели правильно, то будет запрошена авторизация:

Запрошена авторизация для подключения к папке Windows

В Windows есть несколько нюансов с настройкой общего доступа.

Если мы хотим подключаться с авторизацией, введя имя пользователя и пароль, то в Windows нужно создать локальную учетную запись с латинским логином и ввести пароль.

Если кто не знал, то в Windows 10 есть сетевые и локальные учетные записи. С сетевой учетной записью мы не сможем подключиться.

В расширенных настройках общего доступа папки Windows в "Разрешениях" по умолчанию выбрана группа "Все":

Настройка разрешений для папки

Но авторизация у нас запрашивается, и если мы попытаемся подключиться "Анонимно", то ничего не выйдет.

Как же подключиться без ввода пароля к Windows папке из Ubuntu?

Нужно в Windows открыть "Центр управления сетями и общим доступом", выбрать "Изменить дополнительные параметры общего доступа":

Центр управления сетями и общим доступом

В пункте "Все сети" в самом низу будет пункт "Общий доступ с парольной защитой":

Общий доступ с парольной защитой

Надо отключить общий доступ с парольной защитой и "Сохранить изменения".

После чего можно будет заходить с Ubuntu в расшаренные папки Windows, на которых разрешен доступ для всех. Но только после перезагрузки Windows для применения этих изменений.

Для удобства и быстрого доступа к сетевому ресурсу, можно добавить его в закладки файлового менеджера (Nautilus) Ubuntu:

Добавить в закладки

А если нужно защитить папку, то надо удалить группу "Все" и добавить своего пользователя в "Разрешения":

Разрешения для группы

Вот и всё. В этой статье мы не правили никакие конфиги Samba и не пользовались терминалом. Простому пользователю этого более чем достаточно.

А в ближайших статьях мы более подробно разберем Samba, научимся конфигурировать эту службу.


По правде говоря, делиться файлами из Windows в Linux легко, но только если вы знаете, как это сделать. Готовы выяснить?

4 способа передачи файлов из Windows в Linux

Перенос данных между операционными системами Windows и Linux проще, чем вы думаете. Мы собрали пять способов сделать это:

С помощью каждого из этих методов вы сможете легко (а в некоторых случаях легко) перемещать файлы между операционными системами.

Давайте посмотрим на них по очереди и выясним, какой из них подходит вам больше всего.

1. Совместное использование сетевых папок между Linux и Windows

Начиная с Windows, щелкните правой кнопкой мыши значок сетевого подключения на панели задач и выберите «Открыть сеть и настройки Интернета». Далее нажмите «Параметры общего доступа» и включите текущий профиль.

  • Включить обнаружение сети
  • Включите общий доступ к файлам и принтерам


Вы можете управлять доступом к папке через разрешения; это относится к локальным пользователям Windows, а не к сетевым устройствам.

Нажмите OK, чтобы подтвердить изменение, затем откройте вкладку Безопасность в Свойствах. Настройте это, чтобы отразить настройки в поле Полномочия ранее. Вам не нужно делать слишком много здесь, так как Windows 10 должна включать группу под названием Authenticated Users. Это используется для удаленного доступа к вашему компьютеру.

Снова нажмите ОК, когда вы закончите.

Чтобы найти общий ресурс Windows на ПК с Linux, просто откройте браузер файлов и выберите «Сеть». Отсюда перейдите к папке, размещенной в Windows, и начните обмен данными.

Доступ к общему ресурсу Linux из Windows

Чтобы переместить данные в другом направлении, вам нужно установить Samba на ваш компьютер с Linux.

Затем установите имя пользователя для общего ресурса samba.

Вам будет предложено ввести пароль для новой учетной записи (не используйте для этого «имя пользователя»!).

Затем создайте каталог для обмена данными.

Затем отредактируйте файл smb.conf в своем текстовом редакторе:

Добавьте следующее в конец файла конфигурации:

Внесите необходимые изменения в соответствии со своими потребностями, затем нажмите Ctrl + X, чтобы выйти, и нажмите Y, чтобы сохранить. Далее перезапустите Samba:

После этого вы сможете получить доступ к общему ресурсу из Windows. Откройте проводник или браузер и введите IP-адрес или имя хоста удаленного устройства Linux, а затем имя папки. В нашем примере это

2. Скопируйте файлы через SSH из Windows в Linux

С включенным SSH на вашем устройстве Linux вы можете отправлять данные через командную строку с одного компьютера на другой. Однако, чтобы это работало, вам нужно настроить SSH-сервер на вашем Linux-компьютере.

Начните с открытия терминала и обновления и обновления ОС.

Подождите, пока он установит. Чтобы в любой момент проверить, работает ли сервер OpenSSH, используйте

Для передачи данных из Windows используйте SSH-клиент, например PuTTY. Это требует загрузки инструмента PSCP в вашу систему Windows для запуска вместе с PuTTY. Найти оба на домашней странице PuTTY.

После установления соединения вы можете отправлять данные следующим образом:

Перед началом передачи вам будет предложено ввести пароль для компьютера с Linux.

Хотите скопировать данные из Linux в Windows в одном сеансе SSH? Эта команда загрузит указанный файл в текущий каталог:

3. Как перенести файлы из Linux в Windows, используя FTP

Можно также использовать приложение протокола передачи файлов (FTP) с поддержкой SSH. Передача файлов через SFTP в пользовательском интерфейсе, управляемом мышью, возможно, проще, чем полагаться на набранные команды.

Опять же, сервер SSH должен быть запущен на компьютере с Linux перед началом работы. Вы также должны убедиться, что вы установили приложение FTP, такое как FileZilla, которое поддерживает SFTP.

Чтобы использовать этот метод, запустите FileZilla, затем откройте Файл → Менеджер сайтов. Создайте новый сайт, заботясь о том, чтобы установить протокол на SFTP. Добавьте целевой IP-адрес в Host, затем имя пользователя и пароль, установив тип входа в систему как Нормальный.


Нажмите Готово, когда будете готовы, затем используйте интерфейс FTP для перетаскивания файлов между двумя компьютерами.

4. Делитесь файлами между Linux и Windows с помощью Resilio Sync

Другим вариантом, который вы должны рассмотреть, является программа синхронизации файлов. Обычно они кроссплатформенные и используют зашифрованный ключ для управления соединением между устройствами.

Все, что вам нужно сделать, это установить приложение, назначить папку синхронизации, а затем создать ключ. Установите это на втором ПК, и ваши данные будут синхронизированы. Для этого есть два хороших варианта:

  • Resilio Sync: ранее известная как BitTorrent Sync, Resilio доступна практически на любой платформе, о которой вы только можете подумать. Есть платная версия, но бесплатного варианта достаточно для синхронизации двух устройств.
  • SyncThing: для Linux, Windows, macOS и Android эта альтернатива Resilio Sync предлагает аналогичную функцию без платного компонента.

Совместное использование файлов между Windows и Linux очень просто

Если вы новичок в Linux, или вы находите Windows незнакомой, обмен данными между ними проще, чем вы думаете.

Мы рассмотрели несколько методов. Мы рекомендуем вам попробовать все из них и решить, какой из них вам наиболее удобен.

Читайте также: