networking - SCP(安全复制协议(protocol))文件传输如何工作?

标签 networking sftp file-transfer scp

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




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

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

在此先感谢,对我的语言感到抱歉。

最佳答案

SCP客户端连接SSH服务器并执行scp在那里指挥。在大多数情况下,远程 scp将是 OpenSSH scp命令。这意味着,如果您使用 OpenSSH scp命令作为客户端,本地scp (作为客户端)实际上与服务器上的同一个程序对话。 Remote scp使用未记录的 -t 执行(到)或-f (来自)旗帜。这样,scp程序承认它充当服务器。

一旦远程scp正在运行,它使用简单的协议(protocol)与本地 SCP 客户端(scp 或其他实现)进行对话。

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

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

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

命令是:

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


  • 另见 Explanation for SCP protocol implementation in JSch library .

    关于networking - SCP(安全复制协议(protocol))文件传输如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37558853/

    相关文章:

    java - 延迟分组网络请求

    docker - 将 docker-compose 网络内的主机重定向到 docker 外的本地主机

    macos - 无法将 Docker 镜像推送到本地注册表,客户端超时

    python - paramiko 文件传输操作是原子的吗?

    java - 使用 Java JSch 进行 SFTP 文件传输

    ios - 在 iOS 中实现本地服务器

    android - 如何让安卓虚拟设备上网?

    Azure - Microsoft azure 是否支持 SFTP

    java - Camel sftp 制作者。如何从单个处理器将多个文件放入不同的 sftp 文件夹

    file-transfer - TIBCO MFT 服务器安装