将 sshfs 替换为 ssh

将 sshfs 替换为 ssh

我喜欢这样做:

$ sshfs mountPoint myServer
$ cp thisFile mountPoint

我现在使用 LiveCD,但没有可用的 sshfs 实用程序,我需要 run $ sudo dd /dev/sdb2 > mountPoint,如何像使用 sshfs 一样简单地做到这一点?

或许相关

  1. https://superuser.com/questions/397646/cloning-fresh-windows-7-fsed-hdd-to-linux-server-because-having-no-external-hdd

对普苏西的评论

$ sudo fdisk -l|tail
255 heads, 63 sectors/track, 4864 cylinders, total 78142806 sectors
Units = sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x181d6d22

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048     3074047    12288000    7  HPFS/NTFS/exFAT
/dev/sdb2         3074048   600563711  2389958656    7  HPFS/NTFS/exFAT
/dev/sdb3       600563712   625139711    98304000    7  HPFS/NTFS/exFAT
$ sudo file -s /dev/sdb
/dev/sdb: x86 boot sector; partition 1: ID=0x7, active, starthead 32, startsector 2048, 3072000 sectors; partition 2: ID=0x7, starthead 89, startsector 3074048, 597489664 sectors; partition 3: ID=0x7, starthead 254, startsector 600563712, 24576000 sectors, code offset 0xe
$ sudo ntfsclone --save-image --output - /dev/sdb2
ntfsclone v2011.4.12AR.4 (libntfs-3g)
ERROR(22): Opening '/dev/sdb2' as NTFS failed: Invalid argument
Apparently device '/dev/sdb2' doesn't have a valid NTFS. Maybe you selected
the whole disk instead of a partition (e.g. /dev/hda, not /dev/hda1)?

答案1

直接回答你的问题

dd if=/dev/sdb2 ibs=1M | ssh -C myServer 'dd of=/path/to/destination obs=1M'

为了获得奖励,您可以执行以下操作来查看进度(假设您有该pv实用程序)

pv /dev/sdb2 | ssh -C myServer 'dd of=/path/to/destination obs=1M'

答案2

您可以使用 ssh 隧道管道:

dd if=/dev/sdb2 ibs=1M obs=64k | ssh -C user@remotehost "cat > /path/to/destination"

-C选项启用 ssh 协议中的压缩,这通常可以提高此类情况下的性能。

如果您已pv安装,则可以将其包含在管道中以获取更多信息已传输了多少。

dd if=/dev/sdb2 ibs=1M obs=64k | pv | ssh -C user@remotehost "cat > /path/to/destination"

答案3

我建议您使用scp每个 Linux 发行版附带的版本。这称为安全复制。

$ scp -r folder-to-copy location-of-copy

相关内容