ssh ошибка root@localhost; взламывание этого поля

Я понятия не имею, существует ли способ зафиксировать или чисто отключить gvfsd-cdda, но можно переместить его из пути, не сталкиваясь с проблемой с диспетчером пакетов.

Debian (и в более общем плане любое использование распределения dpkg) имеет универсальный механизм для обеспечения Вашей собственной версии файла, это обычно находится под контролем диспетчера пакетов. Если Вы находите, что необходимо измениться /usr/lib/gvfs/gvfsd-cdda или /usr/share/mounts/cdda.mount, использовать dpkg-divert так, чтобы версия пакета была отклонена к другому имени файла:

dpkg-divert --add --local --rename --divert /usr/lib/gvfs/gvfsd-cdda.debian /usr/lib/gvfs/gvfsd-cdda
ln -s /bin/true /usr/lib/gvfs/gvfsd-cdda

или возможно

dpkg-divert --add --local --rename --divert /usr/share/gvfs/mounts/cdda.mount.debian /usr/share/gvfs/mounts/cdda.mount
1
01.01.2019, 11:15
3 ответа

Во входе в систему SSH существует три широких шага:

  1. SSH аутентифицирует пользователя (путем проверки, что требуемый обладает паролем или закрытым ключом или некоторым другим методом).
  2. SSH инициирует сессию, которая может пройти PAM (и так может перестать работать в зависимости от конфигурации PAM).
  3. SSH запускает оболочку.

От этой части ssh -v трассировка:

debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending command: /bin/bash

мы видим, что аутентификация, за которой следуют на уровне SSH и ssh демоне, запустила оболочку (/bin/bash). Таким образом, это - что-то в /bin/bash или его конфигурация, которая предотвращает вход в систему. Проверьте файлы инициализации удара: ~root/.bash_login, ~root/.bash_profile, /etc/profile и другие файлы они могут включать. Попробуйте неинтерактивный вход в систему: ssh root@localhost ls; это все еще пройдет удар, но не через те же файлы инициализации (удар является странным, он читает ~/.bashrc для неинтерактивного входа в систему, когда его родитель rshd или sshd).

Если существует что-то прерванное файл инициализации, можно вспыхнуть путем нажатия Ctrl+C в точно правильное время (после того, как сессия SSH устанавливается, так, чтобы SSH отправил Ctrl+C в удаленный хост и не закрыл соединение, но прежде чем неприятная инструкция в файле инициализации будет выполнена). На практике правильное время может часто достигаться вручную с несколькими попытками; это может помочь загрузить машину. Если Вы не можете сделать его вручную, маленькое expect программа должна получить Вас там.

7
27.01.2020, 23:13

Кроме того, что упомянул Gilles, можно также попытаться изменить оболочку корня на что-то еще в /etc/passwd. Также проверьте, это /bin/bash не (sym), связанный с чем-то как /bin/false. Между прочим, имейте Вас проверенный, это id root нуль действительно?

0
27.01.2020, 23:13

Мое дикое предположение состоит в том, что домашний путь в /etc/passwdне существует или имеет неверные права собственности/права доступа.

0
27.01.2020, 23:13

Теги

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