[Bug 920749] Re: pam configuration for SSH prevents LANG override
Evan Jeffrey
ejeffrey at gmail.com
Sun Apr 22 14:59:32 UTC 2012
Can we at least get a documentation fix on this 5 year old bug? The
ssh_config and sshd_config man pages, as well as the comments in those
configuration files specifically call out that the LANG and LC_*
environment variables are configured to be passed from client to server,
and they are so configured. However, on a default install this will not
actually happen. The documentation should be changed to reflect the
fact that while the environmental variables will be passed, PAM will
override the user preferences with the system defaults.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/920749
Title:
pam configuration for SSH prevents LANG override
Status in Portable OpenSSH:
Confirmed
Status in “openssh” package in Ubuntu:
Triaged
Status in “openssh” package in Debian:
Confirmed
Bug description:
The default /etc/pam.d/sshd configuration has:
# Read environment variables from /etc/environment and
# /etc/security/pam_env.conf.
#auth required pam_env.so # [1]
# In Debian 4.0 (etch), locale-related environment variables were moved to
# /etc/default/locale, so read that as well.
auth required pam_env.so envfile=/etc/default/locale
The default SSH client configuration has "Send LC_*" and the default
SSH server configuration has "Accept LC_*". The PAM configuration
prevents any user-overrides for locale settings.
For example, if /etc/default/locale has:
LANG=en_US.UTF-8
LC_COLLATE=C
Then running "LANG=zh_SG.utf8 LC_COLLATE=en_US.UTF-8 ssh myspecialhost.foo.bar.com" yields:
ubuntu at ip-10-12-15-243:~$ locale
LANG=en_US.UTF-8
LC_COLLATE=C
(output truncated for clarity)
While having a blank /etc/default/locale yeilds:
ubuntu at ip-10-12-15-243:~$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=zh_SG.utf8
LC_COLLATE=en_US.UTF-8
(output truncated for clarity)
I think, although I am not sure, that this is a bug with the default
configuration. It means that in order for server to accept multple
languages or LC_* bindings, the system locale default would have to be
unset. Effectively this is forcing the system default on all users.
To manage notifications about this bug go to:
https://bugs.launchpad.net/openssh/+bug/920749/+subscriptions
More information about the foundations-bugs
mailing list