[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#558171: openssh-client: some LC_LOCALE settings make ssh fail to open a shell



Package: openssh-client
Version: 1:5.1p1-5
Severity: important

Hello,

without apparent reason the ssh client on my system stopped to work
when connecting to some systems. When I try to connect to a certain
server, the connection (including local and remote forwards) are
established and work well, but ssh fails to spawn a shell at the other
end (or fails to connect its output to the local tty). The last lines
before ssh just hangs look like this:

....
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug1: Sending env LC_ALL = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug1: Sending env LC_C = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug1: Sending env LC_CTYPE = en_US.UTF-8
debug2: channel 2: request env confirm 0
debug1: Sending env LC_PAPER = a4
debug2: channel 2: request env confirm 0
debug2: channel 2: request shell confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 2: open confirm rwindow 0 rmax 32768
[... hangs here...]

What I mean by "hangs here" is that the tunnels work fine, and the
control master is usable for shared connections that do not invoke an
interactive shell, but any attempt to kill ssh by pressing ^C or even
^\ fails. (The keystrokes are then printed out to the shell after I
killed the client using `kill'.)

After an hour or so of research, I narrowed this down to ssh passing
the LC_CTYPE environment variable, which is set to en_US.UTF-8 on my
system. If I run `env LC_CTYPE=C ssh host' or `env -u LC_CTYPE ssh host'
everything works fine.

I figured out the problem is not the remote host (because connecting
from other machines with LC_CTYPE set works well), neither the shell
running on the remote host (I tested both zsh and bash, and neither
complained, not even about boguous LC_CTYPE settings).

OTOH, programs that probably don't honour these settings (I tested
`ssh host echo foo') work even with LC_CTYPE set.


Cheers,
Julius

-- System Information:
Debian Release: 5.0.3
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages openssh-client depends on:
ii  adduser         3.110                    add and remove users and groups
ii  debconf [debcon 1.5.24                   Debian configuration management sy
ii  dpkg            1.14.25                  Debian package management system
ii  libc6           2.7-18                   GNU C Library: Shared libraries
ii  libcomerr2      1.41.3-1                 common error description library
ii  libedit2        2.11~20080614-1          BSD editline and history libraries
ii  libkrb53        1.6.dfsg.4~beta1-5lenny1 MIT Kerberos runtime libraries
ii  libncurses5     5.7+20081213-1           shared libraries for terminal hand
ii  libssl0.9.8     0.9.8g-15+lenny5         SSL shared libraries
ii  passwd          1:4.1.1-6                change and administer password and
ii  zlib1g          1:1.2.3.3.dfsg-12        compression library - runtime

Versions of packages openssh-client recommends:
ii  openssh-blacklist             0.4.1      list of default blacklisted OpenSS
ii  openssh-blacklist-extra       0.4.1      list of non-default blacklisted Op
ii  xauth                         1:1.0.3-2  X authentication utility

Versions of packages openssh-client suggests:
pn  keychain                     <none>      (no description available)
pn  libpam-ssh                   <none>      (no description available)
ii  ssh-askpass                  1:1.2.4.1-7 under X, asks user for a passphras

-- no debconf information



Reply to: