2017-06-06 113 views

回答

2

,我在这种情况下,用一个巧妙的方法是使用sshfs使远程目录显示为本地一个无法比拟的:

sshfs [email protected]:/opt/data /tmp/transfer 

然后你可以使用任何版本比较工具比较您的本地数据通过diff -Nur /local/data/dir /tmp/transfer或远程通过比较,您可以根据需要来回复制文件。

请注意,您可能需要通过包管理器安装sshfs,例如,在Debian/Ubuntu的通过apt-get install sshfs

可能的选项:

  • -o PubkeyAuthentication=no:如果您需要密码验证,但是SSH第一次尝试了太多的私钥authenticaitions,如果你使用的私钥身份验证此服务器是否不需要在所有
  • -o sshfs_debug私钥身份验证:如果验证/连接失败
  • -o idmap=user打印出更多的信息:使用的idMap =用户选项的UID翻译用户连接到远程用户
  • -o gid=1000:uid,gid - set将文件的所有权报告给定值; uid是用户的数字用户ID,gid是用户的数字组ID。
  • -o nomap=error:失败,如果用户映射不能做

详情请参阅https://wiki.archlinux.org/index.php/SSHFS

+0

哇,你的技巧很好。你介意解释一下选项的含义吗?谢谢 – Manfredo

+0

完成,我只是碰巧在一个场景中使用这些设备,它们不是强制性的,但通常很有用,我稍微解释了一下它们的作用,并提供了一些链接以获取更多信息。 – centic

2

Beyond Compare Pro包含内置的SFTP支持,因此您可以将SFTP URL作为命令行参数直接传递给它。

bcompare local.txt sftp://user:[email protected]/folder/file.txt 

如果您没有在URL中提供密码,Beyond Compare会提示您输入密码。

bcompare local.txt sftp://[email protected]/folder/file.txt 
+0

我不确定这是否属于我的情况。我想将本地文件与集群远程目录中的文件进行比较。我通常访问它做 'ssh [email protected]“cd my/directory /”' – Manfredo

+0

许多支持SSH的服务器也支持SFTP。在你的例子中,你会使用命令行:'bcompare sftp:// name @ login.xxx/my/directory/file.ext' –

+0

@ChrisKennedy,Beyond Compare Pro支持SFT和私人RSA密钥认证'ssh'的'-i'选项)?还是只有基于密码的认证? – Dmitriusan