You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过FTPS从大型机向RedHat Linux传输文件出现TLS认证协商失败问题

可行性确认

z/OS大型机自带的FTP客户端原生支持FTPS协议,和RedHat服务器上部署的vsftpd服务的FTPS能力完全兼容,可以实现你需要的每周定时批量文件传输需求。

核心报错定位

你给出的日志中,核心错误是EZA2897I Authentication negotiation failed,该错误代表FTPS的TLS握手阶段就已失败,控制连接直接被断开。后续的用户名、密码、cd命令报错都是连接断开后的无效输入,无需额外排查。

分步排查解决步骤

  • 第一步:校验vsftpd的FTPS配置
    登录RedHat服务器,编辑/etc/vsftpd/vsftpd.conf配置文件,确认以下参数配置正确:

    ssl_enable=YES
    allow_anon_ssl=NO
    force_local_logins_ssl=YES
    force_local_data_ssl=YES
    # vsftpd 2.0.5版本较旧,最高仅支持TLS 1.2,不要开启TLS 1.3
    ssl_tlsv1_2=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    # 确认证书和私钥路径正确,证书未过期
    rsa_cert_file=/etc/ssl/certs/vsftpd.pem
    rsa_private_key_file=/etc/ssl/private/vsftpd.key
    # 配置被动模式端口范围,避免防火墙拦截
    pasv_enable=YES
    pasv_min_port=40000
    pasv_max_port=40100
    

    配置修改完成后执行service vsftpd restart重启服务生效。

  • 第二步:匹配大型机FTPS配置
    检查大型机端SYS1.TCPPARMS(FTPDATA)配置文件:

    • 确认TLS版本配置和vsftpd端一致,仅启用TLS 1.2,不要配置更高版本
    • 确认vsftpd服务端的CA根证书已导入大型机的密钥环,z/OS FTP客户端默认会校验服务端证书有效性,未导入证书会直接导致握手失败
    • 测试环境可临时添加SECURE_FTP ALLOW_UNKNOWN_CA YES参数跳过证书校验,生产环境不建议使用该配置
  • 第三步:校验网络连通性
    确认大型机到RedHat服务器的21控制端口,以及vsftpd配置的40000-40100被动模式端口范围,没有被中间防火墙、安全组规则拦截。

  • 第四步:手动测试验证
    先不要直接跑JCL作业,在大型机TSO环境手动执行FTPS连接命令测试:
    ftp -a tls [你的Linux服务器地址]
    输入用户名密码后确认可以正常连接,尝试上传一个小文件验证功能正常后,再调整JCL脚本上线执行即可。

内容的提问来源于stack exchange,提问作者ray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:27:03