为了在具有相同硬件的机器之间获得相同的设置,我将驱动器从一个克隆到另一个,然后执行ip和hostnameconfiguration来区分两台Linux机器。 似乎一切正常,除了scp。 (NFS甚至ssh之间的机器工作正常)
看看scp -v的结果,似乎是正确的authentication,但它然后复制0字节。 有没有什么办法解决这一问题? 会为机器生成新的ssh密钥? 如果是这样,我该怎么做? (机器级别键,而不是用户级别键)
您可以使用以下命令重新生成新的主机ssh密钥:
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
如果您位于OSX上,则位置实际上位于/ etc / ssh_host_dsa_key中。 另外,如果您愿意,也可以用rsa代替dsa。
您可能在/ etc / hosts中有一个条目,使克隆机器认为它是原来的。
如果这些是虚拟机 ,请确保其虚拟网卡具有不同的MAC地址。
我怀疑目标有一些问题,如只读文件系统,损坏的文件系统,没有SFTP,没有目录等
但无论如何,我build议你绕过SCP和使用rsync,它比SCP更聪明。
rsync -avx file_or_dir destination_host:somedir/
它会复制文件,目录,recursion,与简历和所有内部的SSH连接,就像SCP。 当然你必须在两边安装rsync。
选项“avx”是: