开发者社区> 问答> 正文

为什么SSH 服务启动时出现如下错误:fatal: Cannot bind any address


注意:本文相关配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。


问题描述



云服务器 ECS (Elastic Compute Server) Linux 服务器启动 SSH 服务时,命令行或 secure日志出现类似如下错误信息:
  • FAILED.
  • fatal: Cannot bind any address.
  • address family must be specified before ListenAddress.


问题原因



SSH 服务的 AddressFamily 参数用于指定运行时使用的协议簇。如果配置只使用了 IPV6,而系统内没有启用 IPV6、或 IPV6 协议没有得到有效配置,就可能会导致出现该问题。

处理办法



要解决该问题,请进行如下配置检查和修改:
  1. 通过 管理终端 进入系统。
  2. 通过 cat 等指令查看 /etc/ssh/sshd_config 中是否包含类似如下配置:AddressFamily inet6说明:该参数可选值为:
    • inet:使用 IPV4 协议簇,为默认值。
    • inet6:使用 IPV6 协议簇。
    • any:同时启用 IPV4 和 IPV6 协议簇。

  • 如果需要修改相关策略配置,在继续之前建议进行文件备份。

  • 使用 vi 等编辑器,将参数值设置为 inet,或者整个删除或注释(在最开头添加 # 号)整行配置。比如:# AddressFamily inet

  • 同时,确保 AddressFamily 参数在ListenAddress 之前配置,比如:AddressFamily any   #该行配置在前面ListenAddress 0.0.0.0

  • 如果还有问题,可以参阅 云服务器 ECS Linux SSH 无法登录问题排查指引做进一步排查分析。

    如果问题还未能解决,请联系 售后技术支持

    展开
    收起
    boxti 2017-10-23 14:12:05 2620 0
    0 条回答
    写回答
    取消 提交回答
    问答排行榜
    最热
    最新

    相关电子书

    更多
    Usb Server 立即下载
    低代码开发师(初级)实战教程 立即下载
    阿里巴巴DevOps 最佳实践手册 立即下载