Re: Starta X-applikationer från ssh

2010-12-31 tråd Ivar Edebro
 Den 31 december 2010 02:06 skrev Stefan Alfredsson a...@debian.org:

 On 30 Dec 2010, at 23:53, Ivar Edebro wrote:
 Nu har jag,
 när KDE startat upp, skrivit xhost + i en konsol. Då kan jag logga in
 med
 ssh från en annan dator och starta lokala X-kommandon.

 Det stora problemet nu är säkerhetshålet att använda xhost +.

 En något säkrare variant är att bara öppna för vissa IP-adresser. T.ex.
 xhost +192.168.0.123.

 Mycket bättre lösning.  Men fortfarande kan alla som loggar (hackar)
 in sig på den maskinen komma åt X11-servern.  Borde i det här fallet
 även fungera med xhost +localhost och sedan ansluta till localhost:1?
 Det eftersom han ju använder ssh för att logga in på maskinen.

 Någon som kan tipsa mig eller länka till läsning till hur jag på ett
 säkrare sätt kan auktorisera en eller flera datorer att starta lokala
 x-kommandon på lokal klient?

 MIT magic cookies via xauth är mekanismen för att lösa detta. Det går ut
 på att den som vill ansluta till en X-server måste skicka med en
 hemlig/delad nyckel, som angetts av den som startat X-servern.

 Loggar du in med ssh till X-servern och med samma användare som startat
 X går detta automatiskt eftersom den då använder din egen ~/.Xauthority
 . Loggar du in med ssh med en annan användare, eller om du vill
 fjärransluta med X-protokollet, behöver du kopiera kakan.

 Med xauth exporteras kakorna och kan importeras på de maskiner du vill
 köra X-applikationen ifrån.
 Manualsidan xauth(1) har ett exempel som du kan använda:

 EXAMPLE
       The most common use for xauth is to extract the entry for  the
  current
       display,  copy  it  to  another  machine,  and merge it into the
 user's
       authority file on the remote machine:

               %  xauth extract - $DISPLAY | rsh otherhost xauth merge -


 (byt ut rsh mot ssh). När du sedan på otherhost kör en X-applikation
 använder den ~/.Xauthority för att autenticera mot den display du
 ansluter till (dvs din KDE session).

 Se också till att din X-server tillåter TCP-uppkopplingar. Detta är
 avslaget som standard. Justeras i /etc/X11/xinit/xserverrc:

 Detta är väl inte nödvändigt om man kör X11-klienten från samma
 maskin?  Bara sätta omgivningsvariabeln DISPLAY till :1 eller
 starta kommandot med växeln -display :1  om man vill använda den
 andra arbetsplatsen.


Precis!
Det är just det jag haft problem med när jag sökt lösningar på mitt
problem tidigare då xauth löser problemet att låta en applikation köras på
en maskin men visa GUI på en annan.

Jag har två maskiner - foo och bar.
foo är en Debian med KDE. Är normalt sett inloggad som USER1 på KDE. (En
förutsättning?)
bar är en Windowsmaskin.

Jag kör ssh (putty) från bar till foo. Jag loggar in som användare USER1.
För att förenkla problemet så vill jag starta xclock så att den syns i den
nuvarande X-sessionen som USER1 redan har på foo. Antingen på :0.0 eller
på :0.1. Båda skärmarna finns och fungerar på foo.

Dvs, ingen x-forwarding. Ur foo's perspektiv körs xclock lokalt och visas
lokalt. Däremot så startas det genom en ssh-session från en annan dator.

Frågan är då om xhost är rätt lösning? Är xhost +localhost säkert nog? Jag
antar att USER1 måste vara inloggad på KDE lokalt på foo. Vilket
startupscript kan jag då ange xhost i för att det ska gälla i den
sessionen? Kan jag ange xhost +localhost globalt?

Tack för svar hittills.

Gott nytt år på er!!
//Ivar


-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/73029e0693836958e458087b7441994f.squir...@www.edebro.se



Starta X-applikationer från ssh

2010-12-30 tråd Ivar Edebro
Hej.

Efter en hyffsat stor systemuppgradering har jag fått problem att starta
X-applikationer från ssh. Uppdateringen innebar att jag tog bort kde plus
ett antal andra paket pga konflikter vid uppgradering till kde 4.5.
Uppgraderade även nVidia-divern från 185.18.14 till 260.19.29.

Syftet är att starta mplayer på display :0.1 för att få bilden till
datorns tv-utgång. Jag loggar in med ssh från en laptop på lokalt wlan då
Linuxdatorn står i annat rum.

$ mplayer -fs -display :0.1 filename
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  [XVID]  512x384  24bpp  25.000 fps  876.6 kbps (107.0 kbyte/s)
Clip info:
 Software: Nandub v1.0rc2
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: No such file or directory.
s3fb: can't open /dev/fb0: No such file or directory
No protocol specified
vo: couldn't open the X11 display (:0.1)!
...[snip]

Testade även:
$ export DISPLAY=:0.1
$ xclock
No protocol specified
Error: Can't open display: :0.1

Har kört xhost +. Så det verkar inte vara ett auktoriseringsproblem.

Inga ändringar har gjorts av xorg.conf under uppgraderingen.

Några tips? Har sökt på många forum, men inget har gett mig någon lösning
på problemet.

//Ivar


-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/cc1cc659b1e45f2692e019d453e6a43f.squir...@www.edebro.se



Re: Starta X-applikationer från ssh

2010-12-30 tråd Ivar Edebro
 Hej.

 Syftet är att starta mplayer på display :0.1 för att få bilden till
 datorns tv-utgång. Jag loggar in med ssh från en laptop på lokalt wlan då
 Linuxdatorn står i annat rum.


 Har kört xhost +. Så det verkar inte vara ett auktoriseringsproblem.

 Några tips? Har sökt på många forum, men inget har gett mig någon lösning
 på problemet.

 //Ivar


Svarar mig själv här då jag på fel sätt har löst problemet.
Problemet var att xhost+ endast överlever en terminalsession. Nu har jag,
när KDE startat upp, skrivit xhost + i en konsol. Då kan jag logga in med
ssh från en annan dator och starta lokala X-kommandon.

Det stora problemet nu är säkerhetshålet att använda xhost +.

Någon som kan tipsa mig eller länka till läsning till hur jag på ett
säkrare sätt kan auktorisera en eller flera datorer att starta lokala
x-kommandon på lokal klient?

//I


-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/a670c9b1a6d6d1242a040b07fc3f859d.squir...@www.edebro.se



Re: Starta X-applikationer från ssh

2010-12-30 tråd Stefan Alfredsson

On 30 Dec 2010, at 23:53, Ivar Edebro wrote:
 Nu har jag,
 när KDE startat upp, skrivit xhost + i en konsol. Då kan jag logga in med
 ssh från en annan dator och starta lokala X-kommandon.
 
 Det stora problemet nu är säkerhetshålet att använda xhost +.

En något säkrare variant är att bara öppna för vissa IP-adresser. T.ex. xhost 
+192.168.0.123.

 Någon som kan tipsa mig eller länka till läsning till hur jag på ett
 säkrare sätt kan auktorisera en eller flera datorer att starta lokala
 x-kommandon på lokal klient?

MIT magic cookies via xauth är mekanismen för att lösa detta. Det går ut på att 
den som vill ansluta till en X-server måste skicka med en hemlig/delad 
nyckel, som angetts av den som startat X-servern.

Loggar du in med ssh till X-servern och med samma användare som startat X går 
detta automatiskt eftersom den då använder din egen ~/.Xauthority . Loggar du 
in med ssh med en annan användare, eller om du vill fjärransluta med 
X-protokollet, behöver du kopiera kakan.

Med xauth exporteras kakorna och kan importeras på de maskiner du vill köra 
X-applikationen ifrån.
Manualsidan xauth(1) har ett exempel som du kan använda:

EXAMPLE
   The most common use for xauth is to extract the entry for  the  current
   display,  copy  it  to  another  machine,  and merge it into the user's
   authority file on the remote machine:

   %  xauth extract - $DISPLAY | rsh otherhost xauth merge -


(byt ut rsh mot ssh). När du sedan på otherhost kör en X-applikation använder 
den ~/.Xauthority för att autenticera mot den display du ansluter till (dvs din 
KDE session).

Se också till att din X-server tillåter TCP-uppkopplingar. Detta är avslaget 
som standard. Justeras i /etc/X11/xinit/xserverrc:

exec /usr/bin/X11/X -nolisten tcp

Ta bort -nolisten tcp och starta om X.

Mvh,
 Stefan



--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ee3f5e3-14ae-407a-a5c7-22c233800...@debian.org



Re: Starta X-applikationer från ssh

2010-12-30 tråd Anders Jackson
Den 30 december 2010 23:53 skrev Ivar Edebro i...@edebro.se:
 Hej.

 Syftet är att starta mplayer på display :0.1 för att få bilden till
 datorns tv-utgång. Jag loggar in med ssh från en laptop på lokalt wlan då
 Linuxdatorn står i annat rum.


 Har kört xhost +. Så det verkar inte vara ett auktoriseringsproblem.

 Några tips? Har sökt på många forum, men inget har gett mig någon lösning
 på problemet.

 //Ivar


 Svarar mig själv här då jag på fel sätt har löst problemet.
 Problemet var att xhost+ endast överlever en terminalsession. Nu har jag,
 när KDE startat upp, skrivit xhost + i en konsol. Då kan jag logga in med
 ssh från en annan dator och starta lokala X-kommandon.

Det kan vara två olika problem (eller kombination).  Problem med ssh
och dess X11-stöd, eller problem med X11 och X11-serverns lösenord
(MIT-MAGIC-COOKIE-1).

För att se om det är problem med ssh-delen, anslut med ssh -v -v och
se vad som händer.

Men här är några vanliga problem (som jag själv råkat ut för någon gång).

Har du provat att använda ssh -X eller ssh -Y?  Dessa ser till att
sätta upp så att du kan tunnla X11-trafiken via SSH-protokollet.

Har du kollat om något har ändrats i /etc/ssh/sshd_config på maskinen
du loggar in på?   Där finns det direktiv som talar om ifall servern
(mottagaren) skall tillåta att X11 tunnlas via SSH.

Har du kollat om något har ändrats i /etc/ssh/ssh_config på maskinen
du loggar in från?  Där finns det direktiv som talar om ifall
ssh-kommandot skall automatiskt tillåta X11 över SSH eller om man
måste ange -X eller -Y till ssh-kommandot

Har du kommandot xauth på maskinen du loggar till och från?  (Det är
xauth man skall använda istället för xhost, även om xhost fungerar att
felsöka med).  Kommandot xauth används för att kunna plocka ut och
lägga till lösenordsrättigheterna för uppkoppling mellan X11-server
och klient.

 Det stora problemet nu är säkerhetshålet att använda xhost +.

 Någon som kan tipsa mig eller länka till läsning till hur jag på ett
 säkrare sätt kan auktorisera en eller flera datorer att starta lokala
 x-kommandon på lokal klient?

Du kan börja med att tala om vilka kommandon du använder nu.  Samt vad
felutskrifterna ser ut när du kör dem.  Samt vad du får när du kör
kommandona med -v -v från kommandorad.

HMMM...

Få se, vill du ansluta till en X11-server på den maskin du ansluter
till och inte till den som du ansluter från?
Är det någon som är inloggad på den?  Då har de kontroll över den arbetsplatsen.
Om det inte är någon inloggad på den X11-arbetsplatsen, så får du
naturligtvis inte använda den.  Vilket är vad man normalt vill.
Men om du nu vill använda den, så behöver du antingen hämta
arbetsplatsens MIT-MAGIC-COOKIE-1 (X11-lösenord för arbetsplatsen, som
maskin:1 eller maskin:0.1)

Det du då kan göra är att med xauth list eller xauth nlist se vilka
lösenord som finns.
Vad du måste göra är att se till att det lösen som finns i den
X11-server som du vill ansluta till även finns lokalt.
Om så inte är fallet, så kan du lösa det på många vis. Hämta den som
finns på X11-servern och lagra den lokalt på din maskin (i filen
´~/.xauth med kommandot xauth) eller skapa en ny i X11-servern och
lagra den lokalt.

Läs manualsidan xauth(1).   Speciellt om list, extract och merge (samt
nextract och nmerge).  Kommanot ssh -e kan vara användbart när du
skall flytta över MIT-MAGIC-COOKIE mellan maskiner.

 //I
PS:
Har du koll på X11-klient och X11-server samt arbetsplatser och
skärmar i X11? Du vet exempelvis vad maskinnamn:1.3 betyder?

Jag tror att du har, men tänkte jag skulle fråga bara.  Om inte, fråga
igen om det.
DS:


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/aanlkti=zazu28j25dtcwuvwj_9+uagfpyxg35r9zd...@mail.gmail.com



Re: Starta X-applikationer från ssh

2010-12-30 tråd Anders Jackson
Den 31 december 2010 02:06 skrev Stefan Alfredsson a...@debian.org:

 On 30 Dec 2010, at 23:53, Ivar Edebro wrote:
 Nu har jag,
 när KDE startat upp, skrivit xhost + i en konsol. Då kan jag logga in med
 ssh från en annan dator och starta lokala X-kommandon.

 Det stora problemet nu är säkerhetshålet att använda xhost +.

 En något säkrare variant är att bara öppna för vissa IP-adresser. T.ex. xhost 
 +192.168.0.123.

Mycket bättre lösning.  Men fortfarande kan alla som loggar (hackar)
in sig på den maskinen komma åt X11-servern.  Borde i det här fallet
även fungera med xhost +localhost och sedan ansluta till localhost:1?
Det eftersom han ju använder ssh för att logga in på maskinen.

 Någon som kan tipsa mig eller länka till läsning till hur jag på ett
 säkrare sätt kan auktorisera en eller flera datorer att starta lokala
 x-kommandon på lokal klient?

 MIT magic cookies via xauth är mekanismen för att lösa detta. Det går ut på 
 att den som vill ansluta till en X-server måste skicka med en hemlig/delad 
 nyckel, som angetts av den som startat X-servern.

 Loggar du in med ssh till X-servern och med samma användare som startat X går 
 detta automatiskt eftersom den då använder din egen ~/.Xauthority . Loggar du 
 in med ssh med en annan användare, eller om du vill fjärransluta med 
 X-protokollet, behöver du kopiera kakan.

 Med xauth exporteras kakorna och kan importeras på de maskiner du vill köra 
 X-applikationen ifrån.
 Manualsidan xauth(1) har ett exempel som du kan använda:

 EXAMPLE
       The most common use for xauth is to extract the entry for  the  current
       display,  copy  it  to  another  machine,  and merge it into the user's
       authority file on the remote machine:

               %  xauth extract - $DISPLAY | rsh otherhost xauth merge -


 (byt ut rsh mot ssh). När du sedan på otherhost kör en X-applikation använder 
 den ~/.Xauthority för att autenticera mot den display du ansluter till (dvs 
 din KDE session).

 Se också till att din X-server tillåter TCP-uppkopplingar. Detta är avslaget 
 som standard. Justeras i /etc/X11/xinit/xserverrc:

Detta är väl inte nödvändigt om man kör X11-klienten från samma
maskin?  Bara sätta omgivningsvariabeln DISPLAY till :1 eller
starta kommandot med växeln -display :1  om man vill använda den
andra arbetsplatsen.

 exec /usr/bin/X11/X -nolisten tcp

 Ta bort -nolisten tcp och starta om X.

 Mvh,
  Stefan

God Fortsättning och Gott Nytt År.
Anders


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/aanlktimkb94b-wgs9nrokxyrvmo3_vcj9uj=nppbs...@mail.gmail.com