Copiando da origem para o destino em que o destino tem o sshd em execução:
-
dd if=/dev/sda | gzip | ssh root@target 'gzip -d | dd of=/dev/sda'
Copiando da origem para o destino via sshd_host quando o destino não estiver executando o sshd.
-
Alvo:
nc -l -p 62222 | dd of=/dev/sda bs=$((16 * 1024 * 1024))
-
Origem:
ssh -L 62222:target:62222 sshd_host &
-
Origem:
dd if=/dev/sda | nc -w 3 localhost 62222
dd - se = é a fonte, de = é o destino, bs = é o bloco Tamanho. Tamanhos de bloco diferentes podem melhorar o desempenho. 16 é geralmente um ponto de partida razoavelmente razoável. Você também pode usar count = para indicar quantos blocos copiar.
nc - -p indica a porta a ser usada para serviços. -l é usado para iniciar um serviço. -w configura o tempo de espera pelos dados na piplina antes de sair.
ssh - -L configura o encapsulamento no host remoto. O formato do argumento é
local_port:target_host:target_port
. Seu programa local (nc) se conecta ao local_port, esta conexão é encapsulada e conectada a target_port no target_host.
As opções definidas são apenas as usadas para isso. Olhe para as man pages para mais detalhes.
Algumas notas:
- Se você estiver fazendo isso sobre qualquer coisa, mas uma LAN, sugiro comprimir o fluxo de dados com gzip ou compress. O Bzip2 também funcionaria, mas leva um pouco mais de tempo de CPU. O primeiro tem um exemplo desse uso.
- É melhor se a partição de origem não estiver montada ou estiver montada como somente leitura. Se não, você precisará fsck a imagem de destino.
- A menos que uma das máquinas tenha netcat, mas não ssh, o netcat não é realmente necessário aqui. Esse caso seria parecido com:
source machine dd -> nc -> ssh -> ssh tunnel -> sshd server -> nc on target -> dd
- dd funciona melhor se a origem e os destinos tiverem o mesmo tamanho. Se não, o alvo deve ser o maior dos 2.
- Se você estiver usando ext2 / 3 ou xfs, dump (ou xfsdump) e restore podem ser uma opção melhor. Não vai lidar com o setor de inicialização, mas funciona quando o destino e a fonte são de tamanhos diferentes.