GaussDB-SFTP连接故障

GaussDB-SFTP连接故障

现象描述

  • 云数据库GaussDB管理平台(TPOPS)安装包管理界面无法正常连接SFTP,错误提示“DBS.00109005:sftp服务器连接失败”。
  • 命令行界面SFTP连接失败,错误提示为“client_loop: send disconnect: Broken pipe Connection closed”。
  • 命令行界面SFTP连接失败,错误提示为“Permission denied, please try again”。
  • 命令行界面SFTP连接失败,错误提示为“Connection closed. Connection closed”。

可能原因

  • SFTP密码错误,数据库存储的SFTP密码与SFTP用户实际密码不一致。
  • SFTP目录权限/属主错误,不符合要求。
  • SFTP用户密码过期。
  • SFTP服务状态异常。

定位思路

  1. 以root用户登录云数据库GaussDB管理平台(TPOPS)SFTP主节点。

     

    SFTP主节点为/data/docker-service/config/user_edit_file.conf中sftp_install_ip1属性对应值。

  2. 执行以下命令,查看SFTP服务状态。

     

    systemctl status sftp

    • 如果状态为active(正常),继续执行下述步骤。
    • 如果状态不为active(正常),执行以下命令,重启SFTP服务。

      systemctl restart sftp

      如重启后SFTP状态仍然无法恢复正常,请联系技术支持

     

  3. 执行以下命令,从元数据库获取SFTP密码。

     

    获取SFTP加密密码后,需要联系技术支持取得解密后的SFTP密码。

    gsql -h 127.0.0.1 -p {port} -q core -U core -W {password} -c "SELECT VALUE FROM core.dbs_system_parameter WHERE NAME = 'SFTP_PWD';"

    其中:

    • {port}需替换为元数据库端口号。
    • {password}需替换为对应元数据库用户的密码。

      密码获取途径为/data/docker-service/package/cloud/common/render/render_args.yml文件中core_passwd对应的值,获取加密密码后,联系技术支持取得解密后的密码。

     

  4. 执行以下命令,登录SFTP。

     

    sftp -P 10022 sftpservice@{ip}

    其中:

    • {ip}需要替换为当前节点IP。
    • 提示密码输入窗口后,需输入步骤3中获取的SFTP密码。

    • 回显如上,表示登录成功,SFTP服务正常,且元数据库中存储SFTP密码正确。
    • 如果登录失败,请依据不同回显,执行后续步骤。

     

  5. 根据回显结果,排查故障。

     

    1. 回显为“Permission denied, please try again”。

      1. 执行以下命令,修改sftpservice账户密码为步骤3中获取的SFTP密码。

        passwd sftpservice

      2. 再次执行步骤4,登录SFTP。
    2. 回显为“client_loop: send disconnect: Broken pipe Connection closed”。

      1. 执行以下命令,修改{sftp_path}目录属主及其父目录属主为root,权限为755。

        chown root:root {sftp_path}

        chmod 755 {sftp_path}

        其中{sftp_path}为/data/docker-service/config/user_edit_file.conf中sftp_path对应值。

      2. 再次执行步骤4,登录SFTP。
    3. 回显为“Connection closed. Connection closed”。

      1. 执行以下命令,查看密码有效期。

        chage -l sftpservice

      2. 如密码有效期早于当前日期,则执行以下命令,修改密码有效期为永久。

        passwd sftpservice -x 99999

      3. 再次执行步骤4,登录SFTP。

     

  6. 若以上步骤仍不能解决SFTP服务连接异常问题,请联系技术支持处理。
 
posted @ 2024-11-18 14:34  jerrywang1983  阅读(126)  评论(0)    收藏  举报