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

如何通过Docker插件设置节点定义?配置后SSH认证失败如何解决?

认证失败排查解决步骤
  • 第一步:验证Docker容器内SSH服务状态

    绝大多数官方基础镜像默认未预装、未启动SSH服务,首先进入容器验证sshd运行状态:
    docker exec -it 容器名/容器ID ps aux | grep sshd
    
    若没有运行sshd进程,需要依次完成:安装openssh-server、为root用户设置登录密码、配置sshd服务开机自启。
  • 第二步:核对凭证存储路径与配置是否匹配

    你配置的密码存储路径为ssh-password-storage-path=keys/${node.hostname}/${node.username},请确认密钥存储库中的路径完全匹配规则:
    例如节点IP为172.17.0.2、用户名为root,则密码必须存储在路径keys/172.17.0.2/root下,且存储类型为密码,内容为容器root用户的明文登录密码。
  • 第三步:验证网络连通性

    从部署Docker插件的服务端节点执行以下操作验证连通性:
    1. 执行ping 容器IP确认网络可达
    2. 执行telnet 容器IP 22确认容器22端口可访问

    注意:如果你的服务端和Docker容器不在同一网络段,docker:IPAddress获取的是容器内部IP,服务端无法直接访问,此时需要将容器22端口映射到宿主机,同时将hostname.selector修改为宿主机IP,新增ssh-port.selector配置对应宿主机映射端口。

  • 第四步:确认容器SSH权限配置

    进入容器查看/etc/ssh/sshd_config文件,确认两项配置:
    PermitRootLogin yes
    PasswordAuthentication yes
    
    配置修改完成后需要重启sshd服务生效。
  • 第五步:手动测试SSH连接

    在服务端机器直接执行命令手动测试登录:
    ssh root@容器IP
    
    输入存储的密码验证是否可以登录成功,手动登录成功后再验证插件配置即可。

可选配置优化

你当前配置中重复定义了SSH认证方式,可删除ssh-authentication=password,仅保留node.ssh-authentication.selector=password即可,避免配置冲突。

内容的提问来源于stack exchange,提问作者Jean-Pierre Zuate

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 06:54:04