Например, есть 2 компьютера, A и B. Компьютер A является сервером SSH. Компьютер B открывается и SSH-соединение / туннель к компьютеру A. Возможно ли с компьютера A использовать SSH-соединение / туннель для доступа к компьютеру B с компьютера A? Кроме того, как вы можете отключить компьютер B от SSH, не выключая сервер?
2 ответа
Основной ответ - нет: пользователь на клиентском компьютере (B) может выполнять команды на сервере (A) (поэтому администратор на клиенте может выполнять команды на сервере), но администратор на сервере может влиять только на то, что пользователь делает на клиенте.
Однако это не означает, что клиентский компьютер полностью защищен от администратора сервера. Администратор злонамеренного сервера может вставить некоторый код атаки в исполняемый файл, который пользователь скопирует на клиентский компьютер и выполнит там.
Кроме того, если пользователь открыл туннель в дополнение к соединению ssh, это может обеспечить другой вектор атаки. Например, туннели X11 могут в значительной степени позволить администратору сервера удаленно управлять приложениями X11, работающими локально на клиентском компьютере (например, путем введения нажатий клавиш или данных буфера обмена). Openssh обеспечивает некоторую защиту (см. Описания -X
, -Y
и ForwardX11Trusted
в руководстве клиента Openssh) через расширение X11 SECURITY , но эти элементы управления не обеспечивают абсолютную защиту (X11 не был разработан с учетом изоляции приложений, поэтому вы можете на самом деле нет безопасности без ущерба для функциональности).
Только если они открыли удаленный туннель с ним. И даже тогда вы можете подключиться только к тому, к чему он подключен, на их стороне.
sshd
порождает экземпляр для каждого соединения. Просто убейте того, с кем они связаны.