rck Asked: 2009-05-16 09:37:12 +0800 CST2009-05-16 09:37:12 +0800 CST 2009-05-16 09:37:12 +0800 CST 如何修复克隆的 Linux 机器之间的 scp 文件传输? 772 为了在具有相同硬件的机器之间获得相同的设置,我将驱动器从一台克隆到另一台,然后进行 ip 和主机名配置以区分两台 Linux 机器。除了 scp 之外,一切似乎都运行良好。(机器之间的 NFS 甚至 ssh 都可以正常工作) 查看 scp -v 的结果,它似乎正确地进行了身份验证,但随后它复制了 0 个字节。有没有什么办法解决这一问题?为机器生成新的 ssh 密钥会起作用吗?如果是这样,我该怎么做?(机器级键,不是用户级键) linux ssh scp clone 3 个回答 Voted Dave K 2009-05-16T10:05:46+08:002009-05-16T10:05:46+08:00 您可以使用以下命令重新生成新的主机 ssh 密钥: ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key 如果您使用的是 OSX,则该位置实际上位于 /etc/ssh_host_dsa_key。此外,如果您愿意,可以将 rsa 替换为 dsa。 Brent 2009-05-16T10:13:30+08:002009-05-16T10:13:30+08:00 您可能在/etc/hosts中有一个条目,使克隆的机器认为它是原始机器。 如果这些是虚拟机,请确保它们的虚拟网卡具有不同的 MAC 地址。 higuita 2013-05-29T07:57:34+08:002013-05-29T07:57:34+08:00 我怀疑目的地有一些问题,比如只读文件系统、损坏的文件系统、没有 sftp、没有目录等 但无论如何,我建议你绕过 scp 并使用 rsync,它比 scp 聪明得多。 rsync -avx file_or_dir destination_host:somedir/ 它将复制文件、目录、递归、resume 和所有在 ssh 连接内,就像 scp 一样。当然,你必须在两边都安装 rsync。 选项“avx”是: a -> 复制所有文件/目录/设备/等时间和所有者和权限 v -> 详细,显示正在复制的内容(使用 -P 显示复制的进度) x -> 只有一个文件系统。包含它总是更安全,以防万一您有其他挂载点
您可以使用以下命令重新生成新的主机 ssh 密钥:
如果您使用的是 OSX,则该位置实际上位于 /etc/ssh_host_dsa_key。此外,如果您愿意,可以将 rsa 替换为 dsa。
您可能在/etc/hosts中有一个条目,使克隆的机器认为它是原始机器。
如果这些是虚拟机,请确保它们的虚拟网卡具有不同的 MAC 地址。
我怀疑目的地有一些问题,比如只读文件系统、损坏的文件系统、没有 sftp、没有目录等
但无论如何,我建议你绕过 scp 并使用 rsync,它比 scp 聪明得多。
它将复制文件、目录、递归、resume 和所有在 ssh 连接内,就像 scp 一样。当然,你必须在两边都安装 rsync。
选项“avx”是: