16.04 ssh немедленно выходит

У меня новый новый Dell с предустановленной Ubuntu 16.04.02 LTS. Я сделал обновления, установил локальную учетную запись и установил ssh.

Когда я пытаюсь ssh в машину, он запрашивает мой пароль, печатает «Добро пожаловать в Ubuntu», «последний логин: Thu ... », а затем« Соединение закрыто ».

Это происходит из удаленных систем или локально, когда я запускаю

ssh 127.0.0.1

Проблема - это только сеансы входа в систему, она работает, если я даю ей command like [! ​​d3] ssh 127.0.0.1 /bin/date

Я даже могу получить минимально рабочую оболочку, но она не привязана к tty, поэтому многие вещи не работают.

ssh 127.0.0.1 /bin/bash -i

Учетная запись использует bash. Сценарии запуска не изменяются из тех, что указаны в / etc / skel, просто .bashrc и .profile. Я попытался отвести их в сторону. На основании старого ответа я подтвердил, что у них нет выхода.

Я использую обычную учетную запись пользователя; не root.

1
задан 26 May 2017 в 05:18

2 ответа

Я смог изолировать проблему, добавив отладочные операторы в / etc / profile для раннего запуска.

Dell добавила файл /etc/profile.d/display-toggle-keybinding.sh чтобы играть с некоторыми привязками клавиш. Этот файл начинается с:

if [ -z "$DISPLAY" ]; then exit 0 fi

Так как вещи в файле /etc/profile.d являются источниками, они запускаются в текущей оболочке, а не в подоболочке, поэтому, когда они выходят из нее, она убивает весь сеанс. [ ! d2]

Как только я увидел проблему, это было легко проверить, пытаясь

ssh -X 127.0.0.1

, который работал нормально. -X включает пересылку X11, что означает, что установлен DISPLAY. Проблема возникает только в том случае, если DISPLAY не установлен.

Вы можете исправить проблему, отредактировав /etc/profile.d/display-toggle-keybinding.sh и изменив «exit 0» на «return 0» , «return» - чуть менее мощная версия «exit», которая только выходит из исполняемого файла.

Комментарий в файле указывает, что это из пакета «dell-wmi-aio», поэтому он может быть уникальным для систем AIO. Я использую Optiplex 7450 AIO.

Я нашел ответ на этот вопрос очень полезным при описании того, как разные типы оболочек bash (интерактивные, логин, графические и т. Д.) Отличаются и каковы их последовательности запуска являются: Скрипты в /etc/profile.d Игнорируются?

0
ответ дан 18 July 2018 в 12:43

Я смог изолировать проблему, добавив отладочные операторы в / etc / profile для раннего запуска.

Dell добавила файл /etc/profile.d/display-toggle-keybinding.sh чтобы играть с некоторыми привязками клавиш. Этот файл начинается с:

if [ -z "$DISPLAY" ]; then exit 0 fi

Так как вещи в файле /etc/profile.d являются источниками, они запускаются в текущей оболочке, а не в подоболочке, поэтому, когда они выходят из нее, она убивает весь сеанс. [ ! d2]

Как только я увидел проблему, это было легко проверить, пытаясь

ssh -X 127.0.0.1

, который работал нормально. -X включает пересылку X11, что означает, что установлен DISPLAY. Проблема возникает только в том случае, если DISPLAY не установлен.

Вы можете исправить проблему, отредактировав /etc/profile.d/display-toggle-keybinding.sh и изменив «exit 0» на «return 0» , «return» - чуть менее мощная версия «exit», которая только выходит из исполняемого файла.

Комментарий в файле указывает, что это из пакета «dell-wmi-aio», поэтому он может быть уникальным для систем AIO. Я использую Optiplex 7450 AIO.

Я нашел ответ на этот вопрос очень полезным при описании того, как разные типы оболочек bash (интерактивные, логин, графические и т. Д.) Отличаются и каковы их последовательности запуска являются: Скрипты в /etc/profile.d Игнорируются?

0
ответ дан 24 July 2018 в 20:01

Другие вопросы по тегам:

Похожие вопросы: