Я хотел бы скопировать материал в больших количествах (используя образ диска dd
) с netcat с хоста A на B через зашифрованный канал ssh в Linux.
Какие команды я должен набрать на обоих концах?
источник
Я хотел бы скопировать материал в больших количествах (используя образ диска dd
) с netcat с хоста A на B через зашифрованный канал ssh в Linux.
Какие команды я должен набрать на обоих концах?
Копирование из источника в цель, где на цели работает sshd:
dd if=/dev/sda | gzip | ssh root@target 'gzip -d | dd of=/dev/sda'
Копирование из источника в цель через sshd_host, когда цель не работает sshd.
nc -l -p 62222 | dd of=/dev/sda bs=$((16 * 1024 * 1024))
ssh -L 62222:target:62222 sshd_host &
Источник: dd if=/dev/sda | nc -w 3 localhost 62222
dd - if = это источник, of = это пункт назначения, bs = это размер блока. Различные размеры блоков могут улучшить производительность. 16 обычно довольно разумная отправная точка. Вы также можете использовать count =, чтобы указать, сколько блоков копировать.
nc - -p указывает порт, который будет использоваться для служб. -l используется для запуска службы. -w устанавливает время ожидания данных в трубопроводе перед выходом.
ssh - -L устанавливает туннель на удаленном хосте. Формат аргумента, local_port:target_host:target_port
. Ваша локальная программа (nc) подключается к local_port, это подключение туннелируется и подключается к target_port на target_host.
Определенные параметры - только те, которые используются для этого. Посмотрите справочные страницы для более подробной информации.
Несколько заметок:
source machine dd -> nc -> ssh -> ssh tunnel -> sshd server -> nc on target -> dd
Если вы хотите использовать Netcat без SSH. Я предполагаю, что это самый быстрый и не безопасный способ, вы можете скопировать и восстановить весь диск следующим образом:
На компьютере A с IP 192.168.0.1
cat /dev/hdb | nc -p 9000
На компьютере B
nc -l 192.168.0.1 9000 > /dev/hdb
Помните, что в соответствии с man nc опция -l:
-l Используется для указания того, что nc должен прослушивать входящее соединение, а не инициировать соединение с удаленным хостом. Это ошибка , чтобы использовать эту опцию в сочетании с -p, -s или -z опций.
netcat не нужен.
на src машина работает:
dd if=/dev/sdX bs=1M | ssh root@dstMachine " dd of=/dev/sdY bs=1M"
Я предполагаю, что ни один из разделов на SDX и SDY не смонтированы. вы можете загрузить обе коробки с помощью knoppix или другого аналогичного дистрибутива.
дд - принимает данные из , если [если не предусмотрено - принимает его со стандартного ввода], отправляет данные из [если не предусмотрено - данные передаются на стандартный вывод]. bs - размер блока ... ускорит процесс.
ssh - выполняет команду, указанную в кавычках на удаленном блоке, все данные, переданные в stdin из ssh, будут направлены на удаленный компьютер и перенесены как stdin в команду, выполняемую там.
Хост A - это изображение, а B - это то, на котором будет храниться изображение:
Восстановление на диск просто поменяет эти два.
источник
Базовая копия с netcat описана здесь .
Если вам нужно подключить к этому SSH , вы можете использовать переадресацию портов поверх этого,
Но, в целом, вы могли бы просто сделать SSH-передачу в первую очередь (без netcat).
источник
Пока файловые системы отключены, dd работает хорошо.
Вам понадобится заранее установить аутентификацию с помощью hostkey, иначе запрос пароля приведет к сбою копирования.
Выполнение этого на подключенном томе приведет к плохим результатам.
источник
Или вы можете использовать clonezilla и «смонтировать» ваше удаленное хранилище через sshfs.
источник
Я испробовал комбинацию из приведенных выше вариантов и делюсь результатами с вами. самый быстрый и медленный, используя комбинации размера блока dd, алгоритма сжатия gzip и gzip.
Как вы можете видеть, gzip дал мне улучшение только при использовании быстрого алгоритма в сочетании с размером блока 1M.
Были использованы два быстрых сервера, соединенных с GigE через коммутатор Enterprise GigE с использованием локальных дисков через LVM.
источник
Похоже, что вы используете кувалду, чтобы сломать орех здесь - или, возможно, лучшая аналогия пытается сократить ваш газон с ножницами :)
Я настоятельно рекомендую вам взглянуть на некоторые инструменты для выполнения такой работы, если у вас нет веских причин делать это самостоятельно.
Trinity Rescue Kit - это бесплатный liveCD, который поддерживает устройства обработки изображений через многоадресную рассылку и может делать то, что вы хотите (или даже любой другой человек, думающий в том же духе), не переходя на полнофункциональные системы обработки изображений.
источник