Red Hat Bugzilla – Bug 120302
sshd logs Bind to port 22 on 0.0.0.0 failed error after start
Last modified: 2007-11-30 17:10:39 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Description of problem:
In Fedora Core 2 test 1 and test 2, I have been noticing messages from
sshd in the LogWatch email to root. I found the source of these
messages in /var/log/secure. The are issued by sshd whenever the
system is booted:
Apr 7 19:50:28 kuldar sshd: Server listening on :: port 22.
Apr 7 19:50:28 kuldar sshd: error: Bind to port 22 on 0.0.0.0
failed: Address already in use.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Reboot the system
2. tail /var/log/secure
Actual Results: The above error message.
Expected Results: No error message.
The message doesn't seem to hurt anything, SSH still works.
This is because by default ssh attempts to bind itself both to a tcp
and a tcp6 port. Both "ListenAddress 0.0.0.0" and "ListenAddress ::"
are commented out in /etc/ssh/sshd_config.
If you are running a IPv4/IPv6 dual-stack system, uncommenting
"ListenAddress ::" will result in the same functionality but no error
messages. You will still be able to ssh to your system using both
I think this is a Linuxism as I have FreeBSD systems where both lines
are active in the config and there are no errors.
*** Bug 122148 has been marked as a duplicate of this bug. ***
*** Bug 141119 has been marked as a duplicate of this bug. ***
This cannot be solved safely in sshd. If you want to get rid of the message
uncomment one of the lines in the sshd_config depending on if you use IPv6 or not.
I'm just wondering why sshd can't work when for example dovecot works.
I have this in my /etc/dovecot.conf:
# IP or host address where to listen in for connections. It's not currently
# possible to specify multiple addresses. "*" listens in all IPv4 interfaces.
# "[::]" listens in all IPv6 interfaces, but may also listen in all IPv4
# interfaces depending on the operating system. You can specify ports with
imap_listen = [::]
pop3_listen = [::]
# IP or host address where to listen in for SSL connections. Defaults
# to above non-SSL equilevants if not specified.
imaps_listen = [::]
pop3s_listen = [::]
This is no different from specifying 'ListenAddress ::' in the
/etc/ssh/sshd_config. But when you disable IPv6 in kernel it probably won't work.