【问题标题】:Jenkins “Publish over FTP plugin” returning “534 Policy requires SSL” for file uploadJenkins“通过 FTP 插件发布”返回“534 策略需要 SSL”以进行文件上传
【发布时间】:2018-01-30 07:34:05
【问题描述】:

我正在尝试配置“通过 FTP 插件发布”,以便从 Jenkins (v2.7.4) 将文件上传到 FTP 站点(启用 SSL)。
在 FTP 主机配置中启用了复选框“Use FTP over TLS”(在 Manage Jenkins > Configure system 下)并添加了“Trusted Certificate”。

“测试配置”成功,但文件上传失败并出现错误:“534 Policy requires SSL

在控制台的详细输出下方查找:

[EnvInject] - Loading node environment variables.
Building in workspace /var/lib/jenkins/jenkins_home/workspace/TEST_FTP
[TEST_FTP] $ /bin/sh -xe /opt/tomcat/temp/hudson6047550741121880978.sh
+ touch test.txt
FTP: Connecting from host [localhost]
FTP: Connecting with configuration [site1] ...
220 Welcome to XXXXXXXXXXXXXX FTP Services
AUTH TLS
234 AUTH command ok. Expecting TLS Negotiation.
FTP: Logging in, command printing disabled
FTP: Logged in, command printing enabled
CWD /site1/upload
250 CWD command successful.
TYPE I
200 Type set to I.
CWD /site1/upload
250 CWD command successful.
PASV
227 Entering Passive Mode (XX,XX,XX,XX,XX,XX).
STOR test.txt
534 Policy requires SSL.
FTP: Disconnecting configuration [site1] ...
ERROR: Exception when publishing, exception message [Could not write file. Server message: [534 Policy requires SSL.
]]
Build step 'Send build artifacts over FTP' changed build result to UNSTABLE
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
Finished: UNSTABLE

这个插件是否需要任何额外的配置才能工作?在 wiki 页面中找不到任何具体说明:https://plugins.jenkins.io/publish-over-ftp

【问题讨论】:

    标签: ssl jenkins ftp jenkins-plugins ftp-client


    【解决方案1】:

    来自RFC 2228,可能是安全级别不够。在命令端口上协商 TLS 对于此服务器可能还不够,如果还需要使用 PROT P 命令(在 PBSZ 命令之后)加密数据,那么您的问题将被阻止。

    服务器将回复 534 到 STOR、STOU、RETR、LIST、NLST 或 如果当前保护级别不在该级别,则 APPE 命令 由服务器对特定的安全要求决定 文件传输。

    您可以激活调试,然后我们可以通过在您的 Jenkins 启动中添加 -Djavax.net.debug=all 来确认握手一切正常,这是安全性不足的问题。

    这个 Jenkins 插件似乎不支持数据通道加密。打开功能请求。

    【讨论】:

    • 感谢@Eugène Adell 抽出时间回复。我启用了 javax.net 调试日志,可以看到握手成功。日志中没有其他“SSL 例外”,除了“534 策略需要 SSL”。我应该在日志中寻找什么具体的东西吗?
    • 没有。您是否能够使用 FileZilla 或 curl 命令上传文件?确保可以上传任何内容。
    • 是的。 Filezilla 甚至 lftp 都可以正常工作。
    • 是的,看来这个 Jenkins 插件对我来说也不支持数据通道加密,错误“需要 521 PROT P”。我可以删除/降低服务器端的要求,但为什么要冒险呢?要用 WinSCP 之类的东西编写 FTP 脚本。真的很遗憾,因为该插件几乎可以满足我的需要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2013-03-24
    • 2020-04-04
    • 2014-12-31
    相关资源
    最近更新 更多