Ich beobachte immer mal wieder Probleme, wenn ich auf einem unserer
Server Skripte zur Nutzung via SSH-Anmeldung bereitstelle. Manche meiner
Kollegen setzen die Spracheinstellung ihrer Arbeitsplatzrechner auf
“unorthodoxe” Art und Weise und das führt dann zu Fehlermeldungen
nach der SSH-Anmeldung/Skript-Start. Insbesondere Perl-Skripte sorgen
für Fehlermeldungen
Beispiel für eine Fehlermeldung
123456789101112131415161718
$ update-and-check.sh
...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE=(unset),
LC_ALL=(unset),
LC_ADDRESS="de_DE.UTF-8",
LC_NAME="de_DE.UTF-8",
LC_MONETARY="de_DE.UTF-8",
LC_PAPER="de_DE.UTF-8",
LC_IDENTIFICATION="de_DE.UTF-8",
LC_TELEPHONE="de_DE.UTF-8",
LC_MEASUREMENT="de_DE.UTF-8",
LC_TIME="de_DE.UTF-8",
LC_NUMERIC="de_DE.UTF-8",
LANG="en_US.UTF-8"are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
Korrektur
Der Fehler tritt nicht mehr auf, wenn man in
der Datei /etc/ssh/sshd_config die Zeile “AcceptEnv”
deaktiviert. Dadurch werden die Spracheinstellungen
durch den SSHD ignoriert.
1234567891011
--- /etc/ssh/sshd_config~ 2020-02-26 11:55:07.000000000 +0100+++ /etc/ssh/sshd_config 2021-10-29 09:50:45.126481102 +0200 @@ -110,7 +110,7 @@
#Banner none
# Allow client to pass locale environment variables
-AcceptEnv LANG LC_*+#AcceptEnv LANG LC_* # override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server