2017-06-06 100 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