Hi folks.

During the last weeks I received some alerts about
ssh connections from UNKNOWN. E.g.:


Jul 17 08:54:25 piglet sshd[7762]: Did not receive identification
string from UNKNOWN
Jul 26 05:27:54 piglet sshd[31895]: Did not receive identification
string from UNKNOWN

After a fast look at the code it seems that getpeername() fails.
According to the man page there are several reasons:

[... snipp ...]
ERRORS
    On failure, errno is set to one of the following:

    [EBADF]       The argument s is not a valid descriptor.

    [ENOTSOCK]    The argument s is a file, not a socket.

    [ENOTCONN]    The socket is not connected.

    [ENOBUFS]     Insufficient resources were available in the system to per-
                  form the operation.

    [EFAULT]      The name or namelen parameter points to memory not in a
                  valid part of the process address space.
[... snipp ...]

So some thougts about the reasons that may be a failure:

ENOBUFS - Not possible. Although I use 68% of the allocated mbufs I was able
to establish new connections from the outside.

ENOTCONN and EBADF - As far as I know it is not possible, because the connection
log occurs after completing the TCP hand shake.

EFAULT- Impossible since I am using OpenBSD :)

ENOTSOCK- Connecting to OpenSSH not using a socket? WTF?

Is there anyone out there who can help me with this -strange (at
least for me)- message.

Many thanks in advance,

Andreas.

P.S.: The system is:
OpenBSD piglet.badphish.dyndns.org 3.9 GENERIC#617 i386

running sshd version:

OpenSSH_4.3, OpenSSL 0.9.7g 11 Apr 2005

--
Hobbes : Shouldn't we read the instructions?
Calvin : Do I look like a sissy?

Reply via email to