Сообщение об ошибке, вероятно, прибывает из ssh
на Вашей собственной машине. Источник
Это происходит если ssh
не может найти Ваше имя пользователя в passwd
база данных.
Можно попытаться работать getent passwd $USERNAME
многократно и наблюдение, если это перестало работать.
В зависимости от как passwd
поиск настроен, попробуйте один из них:
/etc/passwd
sssd
или nscd
работает правильно, при необходимости/var/log/messages
, /var/log/syslog
, и т.д.)Если Вы отправляете вывод grep '^passwd' /etc/nsswitch.conf
, наряду с любыми интересными частями ssh -vv
вывод и системные журналы, люди могут, вероятно, помочь больше.
, который предлагает экран
, который вы прикрепляете свой сеанс, чтобы подумать, что ваш терминал не находится в UTF-8.
Это думает, например, (если он предполагает, что Charset - это ISO-8859-1), что 0xc3
, исходящее из терминального устройства, означает ã
.
Ссылка экрана, однако, работает в экране UTF-8 (
- это эмулятор терминала, который может быть прикреплен к различным типам клемм).
Итак, при наборе Ä
, вы отправляете 0xC3
0xa4
. Экран
понимает, что вы печатаете два символа ( ã
и ¤
). Это необходимо преобразовать их в свой эквивалент UTF-8.
На дисплее эти символы UTF-8 преобразуются в эквивалент ISO-8859-1, поэтому вы видите Ä
, а не ¤
.
Вам нужно сказать экран
, что ваш терминал является UTF-8.
Обычно это достаточно, чтобы установить локаль в UTF-8.
Большинство развертываний SSH передают информацию о локали от клиента к удаленной команде. Если ваш локаль на клиенте - это UTF-8, то либо SSH не передает переменные среды локали, или SSHD не принимает их, или локаль на стороне клиента не является одной из поддерживаемых на сервере или ваш ~ / .bashrc
на сервере как-то переоценивает его.
В любом случае, делать:
ssh -t remotehost LANG=fi_FI.UTF-8 screen -dr
(убедившись fi_fi.utf-8
действительно является локалом, поддерживаемой на удаленном хосте, см. Locale -a
, чтобы проверить) должен почини это.
Экран
имеет вариант для работы в режиме UTF-8 :
Экран запуска в режиме UTF-8. Эта опция говорит экрану, что ваш терминал отправляет и понимает закодированные символы UTF-8. Это также устанавливает кодировку по умолчанию Для новых Windows на `utf8 '.