В случае, если вы используете только терминал на клиенте сторона (вы сказали, что у вас нет какого-либо xserver, работающего на клиентских хостах) У меня есть предложение, как вы можете этого добиться. На самом деле это минимальный, но легко расширяемый пример, показывающий, как вы можете контролировать сеанс терминала на удаленном хосте. Я не знаю специального программного обеспечения для этого, и, вероятно, есть несколько способов добиться этого более элегантно, поэтому, пожалуйста, не ожидайте многого.
Мой первый совет - установить rooth
на стороне клиента.
Это оболочка для оболочек, которая регистрирует все повторяющиеся нажатия клавиш и вывод терминала в файл и / или в системный журнал [ веб-сайт rooth ]
К сожалению, ваш репозиторий debian не упакован это, поэтому вам придется создавать свои собственные двоичные файлы. Этого легко добиться, поскольку у rooth нет причудливых зависимостей. Кроме того, вам понадобится socat
, инструмент для двунаправленной передачи данных.
Если вы вызываете rooth
как
./rootsh -i -f logfile
, новая оболочка входа в систему запускает все, что отображается на терминале из этой оболочки, или любой дочерний процесс записывается в файл журнала
(также изначально специальные символы предназначен для tty).
Теперь вы можете создать TCP-сокет на клиенте с
socat OPEN:logfile,ioreeof TCP-LISTEN:22222,fork
, из которого вы можете читать данные с хоста администратора. Например, с
socat TCP:clientdomain:22222 STDOUT
или с netcat
, то есть telnet
(доступны двоичные файлы Windows для socat).
Если вы хотите иметь более безопасный поток данных между узлами, вы также можете указать socat
зашифровать его через OPENSSL
. Вы можете найти подробное объяснение этого в статье Защита трафика между двумя экземплярами Socat с помощью SSL .
Я признаю, что у моего подхода есть несколько недостатков, но его достаточно, чтобы проиллюстрировать, что возможно без каких-либо специальных инструментов.
No necesita habilitar nada para hacer cumplir el comportamiento documentado para backports, pero sí debe asegurarse de que el sistema sepa de dónde provienen los paquetes instalados. En su caso, tiene una versión de systemd
de stretch/updates
, pero sus fuentes no hacen referencia a eso, por lo que apt
le da a la versión instalada de systemd
una puntuación de 100 que es menor o igual a la backports score (vea su salida apt policy
).
Para solucionar esto, asegúrese de que su /etc/apt/sources.list
tenga entradas para stretch-updates
, algo así como
deb http://ftp.debian.org/debian stretch-updates main
deb-src http://ftp.debian.org/debian stretch-updates main
Debería ver apt policy systemd
dar los siguientes resultados:
systemd:
Installed: 232-25+deb9u3
Candidate: 232-25+deb9u3
Version table:
237-3~bpo9+1 100
100 http://ftp.debian.org/debian stretch-backports/main amd64 Packages
*** 232-25+deb9u3 500
500 http://ftp.debian.org/debian stretch-updates/main amd64 Packages
100 /usr/var/lib/dpkg/status
232-25+deb9u2 500
500 http://ftp.debian.org/debian stretch/main amd64 Packages