openssh PTY allocation

Mordechai T. Abzug morty at frakir.org
Sun Jul 24 04:47:18 EST 2011


We recently upgraded to openss 5.8p2 from a somewhat older version.
This broke openssh login to ScreenOS devices.  These devices don't
support PTY allocation.  Apparently, ssh now reacts to PTY allocation
failure by failing the login.  This is a change from the previous
behavior.  The simple workaround is ssh -T $device.

I see in the ChangeLog that some device would hang with PTY allocation
disabled.  So apparently, we have mutually exclusive bad behaviors.
>From the ChangeLog:

   - djm at cvs.openbsd.org 2010/04/10 02:08:44
     [clientloop.c]
     bz#1698: kill channel when pty allocation requests fail. Fixed
     stuck client if the server refuses pty allocation.
     ok dtucker@ "think so" markus@

There don't seem to be any ssh_config options that control PTY
allocation behavior.  Any way we can get some options?  There should
be at least one, maybe two ssh_config options to control PTY behavior:
one to control the PTY failure behavior, something like
ExitOnPTYFailure yes|no|no-warn, and one to give the equivalent of -T
or -t, i.e. something like PTYEnable: yes|no|force-yes|yes-if-login.

Note that, IME, for the ChangeLog case, that is a device that normally
allows PTY creation and the PTY fails, the result looks like a hang
but really isn't.  Rather, what you have is a non-interactive shell.
The shell works but doesn't display a prompt.  So, for example, back
under Solaris 2.6, if you allocated all 128 default PTYs and then
login with ssh, the login will just sit there after login without
displaying a prompt.  But it really isn't hung -- you can run
non-interactive commands and see the responses.

Thanks.

- Morty


More information about the openssh-unix-dev mailing list