Consenti accesso alla console Linux


8

Supponiamo che uno stia eseguendo una SSHsessione in una GNU/Linuxscatola di un client e che ti chieda di vedere "cosa stai facendo". Come puoi consentire a quest'altra parte di vedere cosa sta succedendo nella tua sessione?

Risposte:


12

Puoi provare a usare il comando " schermo ". Ciò ti consentirà di eseguire una sessione multiutente che 2 utenti possono connettersi e condividere. Per prima cosa dovrai impostare il bit del suid. lo schermo viene spento, ed è necessario per la modalità multiutente:

sudo chmod +s /usr/bin/screen
sudo chmod 755 /var/run/screen

Il primo utente si connette, è in esecuzione

screen -S shared

"-S" fornisce alla sessione un nome facile da usare. Per consentire l'accesso multiutente, utilizzare "CTRL + A" per eseguire i comandi dello schermo :

CTRL+A
:multiuser on
:acladd otheruser

Quando un altro utente si connette tramite ssh, deve solo correre

screen -x firstuser/shared

per partecipare alla sessione


2
Se una delle parti è in grado di utilizzare su/sudoper diventare l'altro utente, non è necessario pasticciare con il setuid o le autorizzazioni. Basta usare su in modo che entrambe le parti utilizzino lo stesso account. Viene eseguito il primo utente screen, quindi viene eseguito screen -x.
Zoredache,

Non è esplicitamente indicato nella risposta, ma il secondo utente può vedere solo ciò che è in esecuzione nella sessione dello schermo; vale a dire che il primo utente deve eseguire lo schermo prima di eseguire il bit "interessante". Anche se le dimensioni dei terminali non corrispondono, l'esperienza del secondo utente potrebbe essere ... interessante.
David Mackintosh,

@zoredache: in questo modo puoi riscontrare problemi con i permessi tty
ptman

2

Ha funzionato come un fascino.

Ho anche ricevuto un suggerimento offline da un ragazzo con cui ho chattato proponendo una soluzione alternativa:

l'utente che desidera condividere usa "w" per vedere dove sta lavorando l'altro ragazzo ...

# w
 16:27:10 up 30 days,  8:37,  3 users,  load average: 0,99, 0,94, 0,89
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                26Apr10  9days  0.04s  0.01s login -- root
root     pts/0    192.168.2.25     15:31   54:29   0.04s  0.00s script
root     pts/1    192.168.2.235    16:21    3:29   0.05s  0.05s -bash

ora che ora eravamo l'altro ragazzo che lavora, emettiamo questo:

# script | tee /dev/pts/1 

Questo metodo presenta degli svantaggi rispetto a quello proposto da Katriel, in quanto è unidirezionale e se si dimentica di usare exit per interrompere la connessione, gli altri punti continuano a ricevere dati anche se l'utente si disconnette da esso, costituendo una potenziale minaccia alla sicurezza. Ma ho pensato che valesse la pena menzionarlo.

Comunque grazie a Katriel e agli altri.


1

Basta eseguire un server VNC sulla workstation e lasciarlo connettersi a quello. Economico e facile :)


VNC va bene per le sessioni X, ma non per una sessione console.
Cristian Ciupitu,

Se il tuo client ssh viene avviato da una sessione X, non è un problema.
apenwarr,

1

Ho un piccolo progetto open source che (spero) soddisfa perfettamente questa esigenza: Termbeamer .

Ti consente di avviare una sessione terminale e inviarla a una o più altre persone su Internet. Funziona da dietro i firewall e NAT e ha un'opzione di controllo remoto se si desidera che l'altra persona "guidi" - buona per la programmazione di coppia.


0

Apenwarr ha un buon suggerimento, ma recentemente ho usato TeamViewer proprio per questo scopo. È simile a VNC, ma richiede l'installazione ZERO, su entrambe le estremità. Nessuna installazione server, nessuna installazione client richiesta. Fa anche l'attraversamento NAT senza configurazione ... qualcosa che VNC non può fare.

http://teamviewer.com/

Provalo, ti innamorerai.


Inoltre, costa un miliardo di dollari.
apenwarr,

Funziona anche con Wine che funziona con X.
Wranorn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.