部署 CODEARTS DEPLOY-主机/代理机连通性验证问题排查:Linux机器问题排查

时间:2024-05-13 14:33:30

Linux机器问题排查

  1. 检查IP、用户名及密码是否正确。
  2. 检查目标主机开放的端口是否为SSH协议端口(默认端口为22)。

    开启方法:

    1. 开启防火墙。
      systemctl start firewalld.service
      systemctl stop firewalld.service #关闭防火墙命令
    2. 开启端口。
      firewall-cmd --zone=public --add-port=22/tcp --permanent

      --zone #作用域。

      --add-port=22/tcp #端口,格式为:端口/通讯协议。

      --permanent #永久生效,没有此参数重启后失效。

    3. 重启防火墙。
      firewall-cmd --reload

  3. 检查当前网络状态。

    使用“tcpdump”命令查看当前网络连接状态,命令如下:

    tcpdump -n "tcp port 22 and host xxx.xxx.xxx.xxx" 
    #该命令执行在本地PC端,其中xxx.xxx.xxx.xxx为部署服务对外IP,目的是验证部署服务执行主机的网络是否畅通。

    #或者:

    tcpdump -n "tcp port 22" | grep -v "xxx.xxx.xxx.xxx" 
    #该命令执行在本地PC端,其中xxx.xxx.xxx.xxx为被部署的目标主机IP,目的是验证部署主机的网络是否畅通。

    如下图所示,无回显信息说明网络已畅通。

    部署服务对外IP如下。

    中国站:
    49.4.3.11
    139.159.226.153

  4. 在主机列表对目标主机做连通性验证,观察部署服务端是否对目标主机做了SSH协议连接,出现如下图所示,说明部署服务对目标主机做了SSH协议连接。

    原因分析:
    • 服务端对目标主机存在SSH连接

      如果服务端存在SSH连接,说明是目标主机本身配置问题。

      如果已经定位出是目标主机配置问题,或者未安装Tcpdump,都需要检查目标主机本身配置来排查:

      1. 参考《用户指南》“配置黑/白名单”章节。
      2. 查看是否有防火墙配置,以iptables为例,命令如下:
        iptables -L
    • 服务端对目标主机不存在SSH连接

      如果服务端对目标主机不存在SSH连接,说明目标主机网络不可达,其所在的网络环境可能存在访问限制。

      请查看硬件防火墙等相关网络配置,是否有限制源IP、目标IP、SSH协议配置的安全策略。

  5. 查看ssh密钥文件权限。

    root账户登录机器,依次执行以下命令查看ssh密钥文件权限。

    cd /root/.ssh
    ll

    如图所示,查看文件权限是否为“rw”。

    若文件权限不正确,执行以下命令完成修改。

    chmod 600 文件名

  6. 主机连通性验证的用户对${HOME}目录操作失败。

    1. 检查主机${HOME}目录所在磁盘是否已满。
      • 排查${HOME}目录所在磁盘是否已满,参考命令df -h 。
      • 查看用户${HOME}目录的权限设置及目录隐藏属性等信息:ll -ld ${HOME},lsattr -d ${HOME}。
    2. 检查用户对${HOME}目录是否有读写权限。

      修改${HOME}目录权限,为用户增加读写权限:参考命令 chmod ,chattr 。

    3. 检查用户默认shell设置是否为nologin。

      查看用户默认shell设置是否为nologin模式,参考命令: cat /etc/passwd |grep $username ,其中$username为用户名。

  7. (代理主机)如果已关联主机的代理主机连通性失败或者界面提示“主机连接超时,请查看解决方案”,请按如下方式进行排查:

    1. 测试代理主机的连通性。
    2. 检查代理主机上SSH配置AllowTcpForwarding是开启,命令如下:
      grep  "AllowTcpForwarding" /etc/ssh/sshd_config

      如果该属性值为no,则设置为yes,并重新启动sshd服务,命令如下:

      service sshd restart

support.huaweicloud.com/deployman_faq/deployman_faq_0010.html