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

185****6786发表于:2018年06月22日 01:04:13更新于:2018年06月22日 01:05:23

问题描述


云服务器 DC2 Linux 服务器启动 SSH 服务时,命令行或 secure日志出现类似如下错误信息:

  • FAILED.

  • fatal: Cannot bind any address.

  • address family must be specified before ListenAddress.

问题原因


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

处理办法


要解决该问题,请进行如下配置检查和修改:

  1. 通过 控制台VNC进入系统。 

  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