Найти в Дзене
Записки Одмена

Утилита netcat. Быстрая передача больших файлов в линуксе без заморочек с правами и ssh.

В этой статье предлагаю совершить трюк с утилитой netcat.
Оглавление

В этой статье предлагаю совершить трюк с утилитой netcat.

Всех категорически приветствую!

Показания

  • Иногда существует потребность передать кучу файлов с одной машины на другую
  • передать файлы огромного размера

и совсем не хочется заморачиваться с юзерами, правами доступов к этим файлам, ssh и т.д.

Решение

Существует замечательная утилита netcat.

логотип netcat
логотип netcat

Можно передавать файлы между linux машинами на максимально доступной скорости без привязок к юзерам правам и т.д. . Необходимо просто утилитой netcat на первой linux машине перенаправить на порт необходимый файл и забрать файл со второй машины, указав такой же порт.

на компе, с которого необходимо передать файл даём команды:

  • переходим в нужную папку
linux_machine1$ cd /home/need_directory/
  • архивируем в сжатый архив все файлы внутри
linux_machine1$ tar -zcvf big_archive.tar.gz ./*
  • перенаправляем на порт 8888
linux_machine1$ nc -lp 8888 -q 1 < big_archive.tar.gz

где флаги -l listen ; -p порт ; -q заверишь процесс nc после передачи (секунды)

на компе, где будем принимать этот файл даём команды :

  • переходим в нужную папку
linux_machine2$ cd /home/need_directory/
  • с соседа linux_machine1 забираем файл с порта 8888
linux_machine2$ nc linux_machine1 8888 > big_archive.tar.gz
  • распаковываем полученный сжатый архив в текущую директорию
linux_machine2$ tar xvzf big_archive.tar.gz

вместо имён linux_machine1 и linux_machine2 можете использовать ip адреса.

Итог

Передача огромного файла будет происходить на максимально доступной скорости, т.к. не используется шифрование. Да передача будет происходить в открытом виде, но прошу заметить, что вероятность скомпрометировать данную операцию (если вдруг перемещение происходит в интернете) стремится к нулю, т.к. всё выполняется довольно быстро, от момента выставления файла на прослушивание с порта, до момента начала "забора" этого файла с другой машины.

Спасибо за внимание. Посмотрите на моём канале другие полезные статьи, может они вам помогут решить ваши задачи.