SFTP 工作方式
租户可以作为 SFTP 客户端连接到 SFTP 服务器(后者在 SAP 或客户架构中托管)。
根据数据流的方向(无论是租户从 SFTP 服务器读取数据还是向其写入数据),都涉及 SFTP 发送方适配器或 SFTP 接收方适配器。
文件存储在称为邮箱的特定目录中的 SFTP 服务器。对于每个邮箱,指定一个用户以控制对数据的访问。
在某些情况下,您可以选择以下验证选项,以在 SFTP(发送方或接收方)适配器中进行 SFTP 连接:
-
用户名/密码
-
公钥
用户名/密码验证
租户使用用户连接到服务器,并使用密码对 SFTP 服务器进行验证。
用户凭据(用户名和密码)存储在用户凭据部件中,该部件在建立连接之前已部署在租户上。
公钥验证
为了在 SFTP 客户端和 SFTP 服务器之间建立安全连接,应用了对称密钥和非对称密钥的组合。
- 对称(会话)密钥用于加密和解密数据传输会话中的数据。
- 非对称密钥对(在客户端和服务器端)用于加密和解密会话密钥。
客户端和服务器使用对称和非对称密钥通过 SFTP 交换数据,具体方式如下:
- 将客户端连接到服务器。
- 服务器将其公钥发送到客户端。
- 客户端通过评估客户端的 known_hosts 文件来检查服务器是否是受信任的参与者:如果其中列出了服务器的公钥,则将确认服务器的身份。
- 客户端生成一个会话密钥(将用于一个数据传输会话)。
- 客户端使用服务器的公钥加密会话密钥。
- 客户端将加密的会话密钥发送到服务器。由于一方的公钥和私钥在数学上相互关联,因此服务器可以使用其私钥解密会话密钥。
- 现在会话可以以加密的方式继续。
- 作为安全数据传输的一部分(使用之前步骤交换的会话密钥),客户端将其公钥发送到服务器。
- 服务器将检查客户端是否已知客户端的公钥(通过评估服务器端的 authorized_keys 文件)。
- 服务器使用客户端的公钥加密一个随机数字,并将其发送到客户端。
- 客户端使用其私钥解密随机数字,然后将未加密的随机数字发送回服务器。这样,客户端就可以在服务器端自行进行验证。