SCP(安全复制协议)文件传输是如何工作的?

How is SCP (secure copy protocol) file transfer working?

请告诉我SCP是如何工作的。

任何人都可以向我解释(或展示)SCP 文件传输(看起来像图片、流程或参考)。
SCP 和 SFTP 文件传输之间有什么区别?

提前致谢,对不起我的语言。

SCP 客户端连接到 SSH 服务器并在那里执行 scp 命令。在大多数情况下,远程 scp 将是 OpenSSH scp 命令。这意味着,如果您使用 OpenSSH scp 命令作为客户端,本地 scp(作为客户端)实际上与服务器上的同一个程序对话。远程 scp 使用未记录的 -t (to) 或 -f (from) 标志执行。这样,scp 程序就会识别出它充当服务器。

一旦远程 scp 是 运行,它就会使用简单的协议与本地 SCP 客户端(scp 或其他实现)通信。

一个 SCP 命令是一个字母后跟一些参数和换行符。

一个 SCP 响应是一个字节,0x00 = ok,0x01 = error,0x02 = fatal error(尽管 OpenSSH scp 实际上从不响应0x02)。错误代码后跟一条错误消息(以换行符结尾)。

提供命令的始终是源端。目标端消耗它们。 IE。下载时,服务器提供命令,客户端使用它们。上传时,客户端提供命令,服务器使用它们。

命令是:

  • E – 退出
  • T – 为即将到来的文件设置时间戳
  • C – 文件传输
  • D – 目录

另见 Explanation for SCP protocol implementation in JSch library