我有一个特定的 ftps 站点,我无法使用 lftp 连接到该站点。
当我尝试连接时,出现错误:
Fatal error: gnutls_handshake: An unexpected TLS packet was received
Run Code Online (Sandbox Code Playgroud)
当我使用 gnutls-cli 连接时,我找到了正确的设置来协商并实际发出 USER 命令。我要的是指向 gnutls 部分正确 lftp 配置的任何指针,以便它可以正确进行身份验证。
更新:我看到的情况是,在使用 gnutls-cli 时,它会选择要使用的正确 MAC 和密码:
|<4>| HSK[0x24073f0]: Selected cipher suite: RSA_3DES_EDE_CBC_SHA1
Run Code Online (Sandbox Code Playgroud)
与从 lftp 调用时不同的是:
GNUTLS: ENC[0x1918cd0]: cipher: NULL, MAC: MAC-NULL, Epoch: 0
Run Code Online (Sandbox Code Playgroud)
以下是我从 lftp 和 gnutls-cli 的配置和调试输出:
lftp
set ssl:priority NORMAL:+VERS-TLS1.0:+VERS-TLS1.1:+VERS-TLS1.2
set ftps:initial-prot P
set ftp:ssl-allow yes
set ftp:ssl-force yes
set ftp:ssl-protect-list yes
set ftp:ssl-protect-data yes
set ftp:ssl-protect-fxp yes
set ssl:verify-certificate no
debug …
Run Code Online (Sandbox Code Playgroud)