SSH/scp/rsync 如何加密?

SSH/scp/rsync 如何加密?

并且,只需确保我正确执行此操作,如果我使用此命令从服务器复制文件:

$  rsync  [email protected]:~/credit_card_numbers.txt ./

[并不是说我的服务器上真的有这个文件——只是一个机密文档的示例 xD ].txt 文件 [或任何类型的文件] 将不是以明文形式发送,但会被加密吗?使用我的密钥文件或 ~/.ssh 中的其他内容,对吗?而且窥探连接的人(政府、我网络上的人等)都无法查看该文件?

答案1

随机生成的对称会话密钥用于加密客户端和服务器之间的通信。在连接期间,双方共享密钥,会话结束时,密钥将被销毁。

SSH 版本 1 (SSH-1) 仅使用一个密钥,而 SSH-2 有多个密钥:每个方向(客户端->服务器、服务器->客户端)以及其他用于完整性检查的密钥。

SSH-2 为 SSH 连接的任一侧提供了一种启动重新密钥(“会话重新密钥”)的方法,从而导致客户端和服务器协商新的会话密钥。

来源:O'REILLY - SSH 权威指南

正如 EightBitTony 提到的,使用scp

答案2

rsync 可能未加密。它通常如果它没有与 rsync 服务器通信,则默认通过 ssh 运行(因此是加密的),但它可能已配置/编译为使用 rsh 或其他远程 shell。

ssh(以及通过 SSH 运行的 scp)使用公钥/私钥加密,没有私钥就无法解释通过连接传输的任何内容。人们不仅无法读取文件内容,甚至无法知道您正在传输文件,他们只能看到加密的流量。

可以肯定的是,您可以使用

rsync -e ssh .....................

相关内容