Re: Starta X-applikationer från ssh
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
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
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
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
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
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