[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



Reply to: