Как я могу предотвратить удаленный вход в систему через ssh для взлома dbus?

10

Я использую openSUSE 11.3 на своей рабочей станции на работе в KDE, у меня нет доступа к нему root. Оболочка по умолчанию была установлена ​​в tcsh. Когда я вошел на мою рабочую станцию ​​и удаленно вошел с моего MacBook под управлением OS X 10.6, используя ssh, например, так:

ssh -X -C user@workstation.edu

все отлично работает; однако, как только я это сделаю, я получаю ошибки DBUS на сеансе своей рабочей станции всякий раз, когда пытаюсь запустить что-либо с графическим интерфейсом, включая, к сожалению, диалоговое окно выхода из системы на панели задач. Я устал от убийства, startkdeчтобы выйти из системы в таких ситуациях.

В Интернете я нашел много инструкций по подключению к существующему сеансу dbus с использованием ssh, но я бы хотел сделать наоборот, оставить существующий сеанс dbus полностью нетронутым сеансом удаленного входа в систему ssh.

Если я сделаю

ssh -X -C user@workstation.edu dbus-launch konsole

это работает, так что только интерактивная оболочка входа в систему разрушает dbus. Как я должен изменить ~/.cshrc? Имейте в виду , что у меня нет разрешения на изменение /etc/cshrc, /etc/loginи т.д.

Я могу перечислить содержимое этих файлов здесь, если это необходимо.

Обновить:

Вот большой tar-файл со всеми скриптами, которые я смог найти:

http://dl.dropbox.com/u/17203983/cshrc.tgz

user1079118
источник
Да, пожалуйста, опубликуйте содержимое файлов инициализации, которые имеют значение. Также, пожалуйста, опишите, какие именно команды нарушают локальный сеанс (выполняется ли он dbus-launch konsole, прерывает ли локальный сеанс? Или просто интерактивный логин ssh, при котором вы exitсразу нажимаете ?).
Жиль "ТАК - перестань быть злым"
@ Жиль Хмм, я пытался отредактировать свой вопрос с содержимым файлов, но символов слишком много. Я узнаю, как и где я могу загрузить их. В то же время, DBus-запуск Konsole ничего не сломать локальный сеанс, в то время как интерактивный SSH Войти с помощью командной строки затем сразу на выход. Фактически, даже простое выполнение rsync также нарушает работу dbus (мне кажется странным, что rsync по умолчанию запускает сценарии оболочки входа в систему, но это так).
user1079118
Попробуйте pastebin.com для больших файлов.
Жиль "ТАК - перестать быть злым"

Ответы:

1

На самом деле сеанс dbus для каждой машины и для каждого дисплея.

Когда вы делаете удаленный сеанс SSH, вы используете другой дисплей X11 (обычно localhost: 10)

Если вы убьете все dbus и запустите его в сеансе SSH, это сработает ... для сеанса SSH. Но очевидно, что это ломает все другие сессии dbus в машине.

Необходимо проверить, существует ли уже сеанс для дисплея «машина +», если да, использовать его, если нет, запустить новый dbus для этой комбинации и сообщить сеансу об этом.

Посмотрите на https://unix.stackexchange.com/a/188877/32769 блок bash, который вы можете поместить в файл $ HOME / .bash_profile, чтобы выполнить эти тесты и правильно сделать правильные вещи.

Пабло Саратчага
источник