ssh pty alloc broken in 4.8, just like it was in 4.4

Josh Brooks user at mail.econolodgetulsa.com
Mon May 19 10:16:13 PDT 2003


Folks,

In FreeBSD 4.4, if you set up a system with say ... 10-12 jails on it, and
every jail user started 2-3 ssh logins, or a few screen sessions, etc.,
you would start to see people refused their logins - that is, they could
not longer ssh into their server OR create additional screen windows.

Even if you the following in the kernel:

maxusers        512
pseudo-device   pty     256             # Pseudo-ttys (telnet etc)

and, _did_ the following in the base system /dev _and_ in the /dev of all
the jailed systems:

cd /dev
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done

You would still see this problem.

After a few discussions on -hackers, I was told that there was actually a
bug in the sshd/ssh in 4.4 that affected its pty/tty allocation, and it
seems as if this was true, because since 4.4 I have never seen this again.

-----

Now it is back in 4.8.  Maybe slightly different, but here is what I am
seeing:

With appropriate lines set in the kernel:

maxusers        512
pseudo-device   pty     256             # Pseudo-ttys (telnet etc)

and with every pty created in /dev of the base system _and_ inside every
jail:

cd /dev
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done

I now have jail users that cannot log in at all.  When they attempt to ssh
to their system they see:

Warning: Remote host failed or refused to allocate a pseudo tty.

and in /var/log/messages they see:

May 10 10:38:18 jail sshd[455]: error: openpty: No
such file or directory
May 10 10:38:18 jail sshd[456]: error:
session_pty_req: session 4 alloc failed

So that's that.  Again, identical machine, identical configuration, and
_fewer_ jails than an identical 4.7 system I have running - haven't seen
this happen since 4.4 and am very disappointed to see the error
reintroduced now.

a) what can I do to fix this, and what further troubleshooting can I do to
help you solve this problem ?

b) On the outside chance that this problem really does not occur in 4.8,
and in reality I have some third issue that just ate up a ton of ptys in
some weird way that is easy to reset, what is a good way to see all the
ptys in use and their uses ?

Any help it appreciated - as you can imagine, this is a fairly serious
issue.

Thanks!



More information about the freebsd-hackers mailing list